可以将自定义属性的使用限制为特定类型/超类型的类
本文关键字:类型 超类 自定义属性 | 更新日期: 2023-09-27 18:06:31
标题几乎要求这一切。我有一个属性,我希望仅限于在ApiFunction
派生类上使用。在属性构造函数中检查目标类型并在不正确的情况下抛出错误,这是否可以实现?
不,属性没有提供有关它所应用的代码元素的信息。您需要有一个方法来检查库中的每个类型/方法,以确保该属性只放置在允许的项上。
您可以通过创建一个MSBuild任务来实现几乎您所追求的特性,该任务在构建过程之后运行以验证已编译的程序集,如果该属性被滥用,则允许您产生自己的编译时错误。