2011-05-19 130 views
4

是否有设计时机制来检查两个属性是否应用于同一个对象?不允许自定义属性

我已经创建了两个属性[MyXAttribute]和[MyYAttribute],但是我想要进行设计时检查以确保只有一个字段被使用。

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

我试着从同一个基础属性[MyAttribute]中继承,该基础上的AllowMultiple = false,但没有检查。

谢谢。

回答

4

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

喜欢的东西:

[MyAttributeXorY(MyAttributeEnum.X)] 
+0

我认为,将这样做,如果我不能找到一个更优雅的方式。感谢这个想法。 – 2011-05-19 16:31:32