首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeUsage(AttributeTargets.Property) -有没有办法为属性类型指定黑白名单?

AttributeUsage(AttributeTargets.Property) -有没有办法为属性类型指定黑白名单?
EN

Stack Overflow用户
提问于 2011-10-29 03:19:22
回答 2查看 260关注 0票数 1

我有一个定义为System.AttributeUsage(AttributeTargets.Property).的自定义属性当开发人员将属性添加到不是类的属性时,我希望编译器抛出编译错误。有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2011-10-29 03:33:50

不,没有这样的东西可用。

但是,如果您在自己的代码中担心这一点,我建议您编写一些测试,这些测试遍历所有程序集中所有类型中的所有属性,并检查是否正确应用了该属性。

编译时检查在可行的情况下是最好的,但用测试验证总比没有好:)

票数 0
EN

Stack Overflow用户

发布于 2011-10-29 05:12:37

不要抱太大希望,但你可以使用微软的Code Contracts或FxCop之类的东西来强制定制编译器错误:

代码契约:

http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx

FxCop:

http://msdn.microsoft.com/en-us/library/bb429476(v=vs.80).aspx

你也可以看看Spec#:

http://research.microsoft.com/en-us/projects/specsharp/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7933815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档