我已经为属性创建了一些属性。现在我想限制这些属性具有某种数据类型的属性?这个想法是,一个编译器错误将被抛出,如果它被分配给不同的类型。这可能吗?如果不是,那么我想我将不得不在运行时检查它。C#属性用法:只允许特定数据类型属性的属性
5
A
回答
7
你可以写一个自定义的FxCop/ Code Analysis规则来检查这个。
FxCop集成在VS 2010中,名称为“Code Analyis”,您可以更改项目属性中的规则集。
+0
谢谢,这两个答案都是很好的和可能的解决方案,我可能会去CA,因为这是我们在这里使用的,我知道它可能是个坏东西,但是我们的团队没有使用单元测试! – Mel 2011-12-20 11:12:35
+0
@Mel FxCop/Code Analysis绝对是一个不错的选择。 – 2011-12-20 22:40:38
4
不,这是不可能的。
一个很好的解决方法是建立一个单元测试它将遍历所有类,它们的属性并检查这个额外的适用性标准。编译时错误信息并不是那么舒服,但是可以达到目的。如果您拥有某种构建自动化基础架构,则质量保证级别在实践中将保持不变。
相关问题
- 1. TinyMCE,允许数据属性
- 2. 只允许设置特定类/实例的属性
- 3. 允许UnsafeUpdates属性
- 4. 允许更新特定集合属性
- 5. 分配属性只读属性不允许
- 6. Rails的用户PARAMS只允许某些特定属性
- 7. 获取任何属性在属性数据模型中的属性类型
- 8. Typescript - 属性的允许值
- 9. C#属性引用类型?
- 10. firebase只允许设置某些属性
- 11. 获取特定属性的属性值
- 12. 查找Rails模型的允许属性
- 13. Gmail不允许margin属性
- 14. GeoJSON:FeatureCollection中允许属性?
- 15. robots.txt不允许属性
- 16. 允许更改属性的类
- 17. 数据绑定类的属性与属性另一类
- 18. XSD类型,只允许属性OR内容,但不是两个
- 19. Cancan允许更新模型的特定属性
- 20. C#属性的属性
- 21. 类和属性的属性
- 22. jQuery插件允许“class”属性中的名称/值属性?
- 23. 允许/限制基于其他属性的XML属性
- 24. 冲突同一个人属性和数据类型属性
- 25. C#属性和属性定位/目标
- 26. C#自定义属性属性反射
- 27. 反射特定属性类型
- 28. 不允许自定义属性
- 29. C#属性的强制性属性
- 30. 根据特定属性
可能重复[http://stackoverflow.com/questions/4959863/how-to-make-net-attribute-only-valid-on-certain-types](http://stackoverflow.com/questions/4959863/how-to-make-net-attribute-only-valid-on-certain-type) – heads5150 2011-12-20 10:56:53
我不认为这是重复的。这是为了将属性应用于类。这是针对特定类型的属性。 – Mel 2011-12-20 11:09:36
但是命运看起来一样:( – Mel 2011-12-20 11:10:46