强制使用自定义属性

ToP*_*oPa 25 c# attributes

场景:我有一个基类"MyBase".我有一个自定义属性"MyAttrib"

我这样做:

[MyAttrib(1234)]
class MyClass : MyBase()
{
 MyClass()
 {
 }
}
Run Code Online (Sandbox Code Playgroud)

问题:我能否以任何方式强制从MyBase中获取属性MyAttrib?

And*_*are 27

不,没有办法让编译器在C#中需要一个属性.您还有其他一些选择.您可以编写一个单元测试来反映程序集中的所有类型并检查属性.但遗憾的是,没有办法让编译器强制使用属性.