2009-02-24 12 views
9

Ho una proprietà creata con CodeDom. Come posso impostarlo per essere una proprietà automatica invece di aggiungere CodeFieldReferenceExpressions a un membro privato?C# CodeDom Automatic Property

risposta

11

IIRC, CodeDom semplicemente non ha un modo di esprimere questo. Le proprietà implementate automaticamente sono solo lo zucchero del compilatore, ma poiché non mappa (in modo pulito) in tutte le lingue, non si adatta perfettamente a CodeDom (inoltre, CodeDom avrebbe avuto bisogno di un aggiornamento).

7

Sì, è possibile.

È possibile utilizzare la classe CodeSnippetTypeMember per questo scopo.

Ad esempio:

 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); 
Problemi correlati