static string GetBackingStoreName(MonoDevelop.Projects.Dom.IProperty property) { string baseName = char.ToLower(property.Name[0]) + property.Name.Substring(1); int number = -1; IType type = property.DeclaringType; if (type != null) { List <IMember> members; do { number++; members = type.SearchMember(GenNumberedName(baseName, number), true); } while (members != null && members.Count > 0); } return(GenNumberedName(baseName, number)); }
string RetrieveBackingStore(MonoDevelop.Refactoring.RefactoringOptions options, MonoDevelop.Refactoring.INRefactoryASTProvider astProvider, MonoDevelop.Projects.Dom.IProperty property) { ICSharpCode.NRefactory.Ast.CompilationUnit compilationUnit = astProvider.ParseFile(options.Document.TextEditor.Text); PropertyVisitor visitor = new PropertyVisitor(property); compilationUnit.AcceptVisitor(visitor, null); return(visitor.BackingStoreName); }