8

有没有办法使用 Codedom我可以使用的其他一组库生成 C# 自动属性?

4

5 回答 5

6

不,不是:C# CodeDom 自动属性

查看这篇文章以获取一些有用的示例

于 2010-01-23T10:37:08.660 回答
6

您可以为此目的使用 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);
于 2014-05-26T20:01:21.280 回答
2

CodeDom 应该是某种可以转换为多种语言(通常是 C# 和 VB.NET)的AST 。因此,您不会在 CodeDom 中找到属于特定语言的语法糖的功能。

于 2010-01-23T10:58:40.550 回答
1

实际上,关于易于使用 CodeSnippetStatement 的评论具有误导性,因为 CodeTypeDeclaration 没有可以将这些片段添加到的语句集合。

于 2011-10-06T11:34:21.030 回答
-2

您可以这样做:根据如何:使用 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);
于 2015-03-07T17:55:16.967 回答