2009-02-24 2 views
9

У меня есть свойство, созданное с помощью CodeDom. Как я могу установить его как автоматическое свойство вместо добавления CodeFieldReferenceExpressions против частного участника?C# CodeDom Automatic Property

ответ

11

IIRC, CodeDom просто не имеет способа выразить это. Автоматически реализованные свойства - это только сахара-компилятор, но поскольку он не отображается (чисто) на все языки, он не вписывается в CodeDom чисто (кроме того, CodeDom нуждается в обновлении).

7

Да, вы можете.

Для этой цели вы можете использовать класс CodeSnippetTypeMember.

Например:

 CodeTypeDeclaration newType = new CodeTypeDeclaration("TestType"); 
     CodeSnippetTypeMember snippet = new CodeSnippetTypeMember(); 

     snippet.Comments.Add(new CodeCommentStatement("this is integer property", true)); 
     snippet.Text="public int IntergerProperty { get; set; }"; 

     newType.Members.Add(snippet);