C#では、ビルドのタイプに応じてコードの実行を区別できます。デフォルトでは、デバッグとリリースの種類が定義されています。
は、我々は#if
ディレクティブ使用してそれを行うことができます。またはC#の条件付き属性の演算子
#if DEBUG
public void Foo()
{ ... }
#endif
をしかし、我々はまた、Conditional
属性を使用することができます:第二の溶液をさらに保守性であると主張されている
[Conditional("DEBUG")]
public void Foo()
{ ... }
を(参照:ビルが実効的にC#のワーグナー)。
私の質問です - 多くのビルド設定でConditional
属性を使用するにはどうすればよいですか?どういうわけかor
演算子を使用することはできますか?私はいくつかのFooメソッドを、例えばDEBUGとBARビルドの両方の設定で実行させたいからです。それでは?あなたは複数のカンマを使用することができます
[documentation](https://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute(v = vs.110).aspx)の例に示すように、複数回適用するだけです) –
はい、それは可能です( 'ConditionalAttribute'の' AttributeUsageAttribute'は 'AllowMultiple'を' true'に設定しています)。しかし、あなたの2つの例は、( '#if DEBUG'をメソッド本体内に移動しても)関係するパラメータがあります。 –
@AdrianoRepettiあなたは彼らの行動がどう違うかを詳しく説明できますか? – Vlad274