禁止同时使用自定义属性
是否有设计时机制来检查两个属性是否应用于同一个对象?
例如,我创建了两个属性,[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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这两个属性是互斥的,那么您可能会考虑将它们合并,然后使用枚举或布尔参数来区分它们的用法。这样,AllowMultiple=false 就会为您完成这项工作。
像这样的东西:
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: