代码之家  ›  专栏  ›  技术社区  ›  Hannoun Yassir

使用codedom生成c自动属性

  •  7
  • Hannoun Yassir  · 技术社区  · 15 年前

    有没有办法用codedom生成c自动属性? 也许我可以用另一套图书馆?

    5 回复  |  直到 9 年前
        1
  •  2
  •   Lucero    15 年前

    codedom应该是某种 AST 可以转换为多种语言(通常是C和VB.NET)。因此,您将无法在codedom中找到特定语言的语法结构。

        2
  •  5
  •   Community Mr_and_Mrs_D    7 年前

    不,不是: C# CodeDom Automatic Property

    看看 this article 得到一些有用的例子

        3
  •  3
  •   bigkahunaburger    10 年前

    为此,可以使用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);
    
        4
  •  1
  •   GilShalit    13 年前

    事实上,关于代码段语句易于使用的注释是误导性的,因为Codetypedeclaration没有可以添加这些代码段的语句集合。

        5
  •  -1
  •   Mahsa Hassankashi    9 年前

    你可以这样做:根据 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);