gpt4 book ai didi

c# - 属性上的 ConditionalAttribute 有什么作用?

转载 作者:行者123 更新时间:2023-11-30 23:21:59 25 4
gpt4 key购买 nike

我知道 ConditionalAttribute 的作用。

文档说它也可以应用于一个类,如果它是从 Attribute 派生的:

[Conditional("DEBUG")]
public class FooAttribute : Attribute { }

但是该自定义属性的行为如何?(它是否从发布版本中删除了?)

最佳答案

@RicardoPontual 的评论给了我一个想法。

我这样做了:

[Conditional("DEBUG")]
public class FooAttribute : Attribute { }

[Foo]
public class Bar { }

我在 Debug模式下编译,并在 ILSpy(它是一个反汇编程序)中加载了 DLL。正如预期的那样,这是我发现的:

[Foo]
public class Bar { }

然后我在 Release模式中编译,并在 ILSpy 中加载该 DLL。这是我发现的:

public class Bar { }

Bar 类这次没有装饰!

所以,答案是,当您使用 Conditional 装饰某些自定义属性时,该属性本身将以相同的方式成为条件。

这就是我想要的行为。我最初认为派生自 ConditionalAttribute,但它是密封的。相反,您需要装饰您的自定义属性。

关于c# - 属性上的 ConditionalAttribute 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38982444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com