使用 Codedom 生成 C# 自动属性

发布于 2024-08-19 03:07:24 字数 67 浏览 3 评论 0原文

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

is there a way Generate C# automatic properties with Codedom or maybe an other set of libreries that i can use ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

吃不饱 2024-08-26 03:07:24

您可以使用 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);

You can use CodeSnippetTypeMember class for that purpose.

For example:

    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);
不甘平庸 2024-08-26 03:07:24

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

查看 本文 获取一些有用的示例

No, it's not: C# CodeDom Automatic Property

Take a look into this article to get some useful examples

べ映画 2024-08-26 03:07:24

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

CodeDom is supposed to be some sort of AST which can be converted to multiple languages (typically C# and VB.NET). Therefore, you'll not find features which are syntactic sugar of a specific language in CodeDom.

一抹苦笑 2024-08-26 03:07:24

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

Actually the comments about it being easy to use a CodeSnippetStatement are misleading because CodeTypeDeclaration has no statements collection that you can add those snippets to.

葬﹪忆之殇 2024-08-26 03:07:24

您可以这样做:根据如何:创建使用 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);

You can do this: According to 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文