【发布时间】:2011-12-20 10:51:46
【问题描述】:
我为属性创建了一些属性。现在我想将这些属性限制为具有某种数据类型的属性?这个想法是,如果将其分配给不同的类型,则会引发编译器错误。这可能吗?
如果没有,那我想我必须在运行时检查它。
【问题讨论】:
-
我不认为这是重复的。那是为了将属性应用于类。这是针对特定类型的属性。
-
但命运看起来一样:(
标签: c# custom-attributes
我为属性创建了一些属性。现在我想将这些属性限制为具有某种数据类型的属性?这个想法是,如果将其分配给不同的类型,则会引发编译器错误。这可能吗?
如果没有,那我想我必须在运行时检查它。
【问题讨论】:
标签: c# custom-attributes
您可以编写自定义 FxCop/ Code Analysis 规则来检查这一点。
FxCop 集成在 VS 2010 中,名称为“Code Analyis”,您可以在项目属性中更改规则集。
【讨论】:
不,这是不可能的。
一个好的解决方法是构建一个单元测试,它将遍历所有类、它们的属性并检查这个额外的适用性标准。它不像编译时错误消息那样舒服,但可以达到目的。如果您有某种构建自动化基础架构,则质量保证水平在实践中将是相同的。
【讨论】: