有沒有辦法用Codedom生成C#自動屬性或也許是我可以使用的其他一組libreries?用Codedom生成C#自動屬性
5
A
回答
2
。淨)。因此,您不會在CodeDom中找到特定語言的語法糖。
5
不,這不是:C# CodeDom Automatic Property
看看到this article得到的CodeDOM應該是某種AST可以轉化爲多國語言(通常是C#和VB一些有用的例子
1
其實關於它的評論很容易使用CodeSnippetStatement是誤導性的,因爲CodeTypeDeclaration沒有語句集合,您可以添加這些片段。
0
您可以爲此使用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);
0
你可以這樣做:根據How to: Create a Class Using CodeDOM
// Declare the ID Property.
CodeMemberProperty IDProperty = new CodeMemberProperty();
IDProperty.Attributes = MemberAttributes.Public;
IDProperty.Name = "Id";
IDProperty.HasGet = true;
IDProperty.HasSet = true;
IDProperty.Type = new CodeTypeReference(typeof(System.Int16));
IDProperty.Comments.Add(new CodeCommentStatement(
"Id is identity"));
targetClass.Members.Add(IDProperty);
+0
這不起作用,因爲它會生成兩個空的'set'和'get'方法,這將導致編譯錯誤。 'CodeSnippetTypeMember'(http://stackoverflow.com/a/23876973/191148)是解決方案 – 2016-02-19 09:39:03
相關問題
- 1. C#CodeDom自動屬性
- 2. 在C#中自動生成的屬性
- 3. 自動生成屬性
- 4. 在C#中使用Codedom添加屬性
- 5. 如何生成的CodeDOM使用在C#
- 6. 將WebService屬性添加到使用CodeDom生成的類
- 7. 從C++類自動生成屬性成員字符串?
- 8. 由於在C#中濫用自動屬性而生成NullReferenceException?
- 9. 使用xsd.exe創建類時自動生成屬性屬性
- 10. Visual Studio自動生成屬性
- 11. Yii2 - 自動生成佔位符屬性
- 12. 通過CodeDom生成非託管C++
- 13. 在asp.net c中自動完成屬性#
- 14. @屬性自動生成15+方法(Xcode的8.0,OBJ-C)
- 15. C# - 自動生成一個名稱爲變量的新屬性
- 16. 從現有類生成CodeDOM
- 17. 自動完成minChars屬性
- 18. 使用的CodeDOM寫VB.Net屬性
- 19. 使用來自C#代碼的屬性生成SOAP消息
- 20. 使用字段/屬性命名約定從接口自動生成類生成
- 21. 如何使用CodeDOM的CodeMemberProperty爲屬性獲取器或設置器生成DebuggerStepThrough屬性
- 22. 訪問自動屬性 - C#
- 23. C#自動屬性設置
- 24. 如何在我的類中使用XSD生成自動屬性?
- 25. Web服務調用 - 自動生成的屬性
- 26. C#自動生成EventHandler
- 27. 如何自動生成C#
- 28. 目標中動態生成的屬性/函數調用C
- 29. 使用CodeDom生成嵌套命名空間C#
- 30. 用bean屬性生成preparedstatement
所以在那裏,我可以使用任何其他庫? – 2010-01-23 10:39:17
@Yassir創建一個支持字段並在getter/setter中使用它們真的不那麼難。 – chakrit 2010-01-23 10:44:01
你不需要;正如Marc Gravell所說,你需要自己實現它,因爲它們只是一個編譯器技巧(即.net編譯器創建一個私有變量來保存自動屬性值) – 2010-01-23 10:44:22