bool IsField(string identifier) { if (currentTypeDeclaration == null) // e.g. in unit tests { return(false); } foreach (INode node in currentTypeDeclaration.Children) { if (node is FieldDeclaration) { FieldDeclaration fd = (FieldDeclaration)node; if (fd.GetVariableDeclaration(identifier) != null) { return(true); } } } //field detection for fields\props inherited from base classes if (currentTypeDeclaration.BaseTypes.Count > 0) { return(IsField(currentTypeDeclaration.BaseTypes[0].ToString(), identifier)); } return(false); }