CodeDOM 类 CodeAttributeDeclaration 中的 AttributeType 属性有何用途?

发布于 2024-10-04 12:13:13 字数 189 浏览 1 评论 0原文

我正在进行代码生成,创建自定义属性来使用 CodeDOM 装饰类,目标是 C# 和 VB。 为此,我创建了 CodeAttributeDeclaration 类的一个实例。

我当前正在设置 AttributeType 属性以及 Name,但它似乎没有被使用。相反,Name 属性仅用于生成属性声明。

我错过了什么吗?该房产有何用途?

I'm doing code generation, creating a custom attribute to decorate a class using CodeDOM, targetting C# and VB.
To do this, I'm creating an instance of the CodeAttributeDeclaration class.

I'm currently setting the AttributeType property, as well as the Name, but it does not seem to be used. Instead, the Name property is all that is used to produce the attribute declaration.

Am I missing something? What is this property used for?

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

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

发布评论

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

评论(1

秋心╮凉 2024-10-11 12:13:13

这是一种替代方案(我相信,有一段时间没有使用 CodeDOM) - 您可以使用名称或类型来定义属性声明。如果两者都设置了,它将(显然)使用该名称。查看构造函数的重载这种类型提供了一些线索。

查看反射器,结果发现设置 Name 总是强制 AttributeType 成为同名的 CodeTypeReference,并且采用 TypeReference 的构造函数也总是设置名称 - 所以甚至不能设置一个来代替另一个。

It's an alternative (I believe, haven't done CodeDOM for a while) - you can define the attribute declaration using either a name or a type. If both are set, it will (apparently) use the name. Looking at the overloads for the constructor of this type gives some clues to this.

Looking in reflector, it turns out that setting the Name always forces the AttributeType to be a CodeTypeReference to the same name, and the constructors that take the TypeReference always set the name also - so it's not even that one can be set instead of the other.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文