禁止同时使用自定义属性

发布于 2024-11-08 00:40:03 字数 253 浏览 4 评论 0原文

是否有设计时机制来检查两个属性是否应用于同一个对象?

例如,我创建了两个属性,[MyXAttribute] 和 [MyYAttribute],但我希望进行设计时检查以确保字段上只使用一个属性。

这与使用AllowMultiple=false 类似,不同之处在于它适用于使用同一属性的两个实例。

我尝试从相同的基本属性 [MyAttribute] 继承,并在该基础上使用AllowMultiple=false,但没有检查。

谢谢。

Is there a design-time mechanism to check if two attributes are being applied to the same object?

I have created two attributes, [MyXAttribute] and [MyYAttribute], say, but I would like a design-time check to make sure only one is used on a field.

This is similar to using the AllowMultiple=false, except that applies to using two instances of the same attribute.

I tried inheriting from the same base Attribute, [MyAttribute], with AllowMultiple=false on that base, but there is no check.

Thank you.

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

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

发布评论

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

评论(1

迷途知返 2024-11-15 00:40:03

如果这两个属性是互斥的,那么您可能会考虑将它们合并,然后使用枚举或布尔参数来区分它们的用法。这样,AllowMultiple=false 就会为您完成这项工作。

像这样的东西:

[MyAttributeXorY(MyAttributeEnum.X)]

If the two attributes are mutually exclusive, then you might consider merging them, and then differentiating their usage with an enum or bool parameter. That way AllowMultiple=false will do the job for you.

Something like:

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