是否可以将自定义属性的属性用法限制为特定类型/超类型的类?

时间:2013-03-28 13:11:45

标签: c# .net c#-4.0

标题几乎要求一切。我有一个属性,我想限制只用于ApiFunction派生类。这是否可以以任何方式实现在属性构造函数中检查目标类型并且如果一切都不正确则抛出错误?

1 个答案:

答案 0 :(得分:2)

不,没有为属性提供有关应用它的代码元素的信息。您需要有一个方法来检查库中的每个类型/方法,以确保该属性仅放置在允许的项目上。

您可以通过创建在构建过程之后运行的MSBuild任务来验证编译的程序集,从而实现接近您所使用的功能,如果属性是,则允许您生成自己的编译时错误误用。