我知道什么ConditionalAttribute
does.
文档说它也可以应用于一个类,如果它派生自Attribute
:
[Conditional("DEBUG")]
public class FooAttribute : Attribute { }
但该自定义属性的行为如何?(它是否从发布版本中删除了?)
@RicardoPontual 的评论给了我一个想法。
我这样做了:
[Conditional("DEBUG")]
public class FooAttribute : Attribute { }
[Foo]
public class Bar { }
我编译在调试模式,并在 ILSpy 中加载 DLL(它是一个反汇编程序)。正如我所料,这是我发现的:
[Foo]
public class Bar { }
然后我编译了释放模式,并在 ILSpy 中加载该 DLL。这是我发现的:
public class Bar { }
The Bar
这次班级没有装饰!
所以,答案是当你用Conditional
,那么该属性本身就以同样的方式成为有条件的。
这就是我想要的行为。我最初以为源自ConditionalAttribute
,但它是密封的。相反,您需要装饰您的自定义属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)