一起禁用自定义属性

时间:2011-05-19 16:25:48

标签: .net custom-attributes

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

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

这类似于使用AllowMultiple = false,但适用于使用相同属性的两个实例。

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

谢谢。

1 个答案:

答案 0 :(得分:4)

如果这两个属性是互斥的,那么您可以考虑合并它们,然后将它们的用法与enum或bool参数区分开来。这样AllowMultiple = false就能为你完成这项工作。

类似的东西:

[MyAttributeXorY(MyAttributeEnum.X)]