在C#中,我們可以根據構建類型區分代碼執行。默認情況下,我們定義了Debug和Release類型。
我們可以使用#if
指令做:或C中條件屬性中的運算符#
#if DEBUG
public void Foo()
{ ... }
#endif
但是,我們也可以使用Conditional
屬性:第二個解決方案,甚至自稱是更容易維護
[Conditional("DEBUG")]
public void Foo()
{ ... }
(參見:有效的C#比爾瓦格納)。
我的問題是 - 我如何在許多構建配置中使用Conditional
屬性?有沒有可能以某種方式使用or
運算符?我問,因爲我想要在例如DEBUG和BAR構建配置中執行一些Foo方法。然後怎樣呢?
只需多次應用它,如[documentation](https://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute(v = vs.110).aspx中的示例所示) –
是的,有可能(ConditionalAttribute的'AttributeUsageAttribute'將'AllowMultiple'設置爲'true'),但請注意,您的兩個示例行爲非常不同(即使您在方法體內移動了'#if DEBUG')有涉及的參數。 –
@AdrianoRepetti你可以詳細說明他們將如何表現不同嗎? – Vlad274