如何从属性中抛出编译错误?

zza*_*ndy 6 .net c# attributes

.NET中有一些属性(例如ObsoleteAttribute),它们能够阻止编译或至少抛出编译时警告,具体取决于它们的配置.

如何编写能够干扰编译的属性?有没有办法从微软以外的地方做到这一点?

Sau*_*tka 6

Obsolete属性是"编译魔术" - 如果不修改编译器,就不能自己做这样的事情.但是,与往常一样,有一些解决方法 - 例如,看看这个这个线程.