あなたはアプリケーションをテストしています。このアプリケーションには、CalculateInterestとLogLineという名前のメソッドが含まれています。 CalculateInterest()メソッドは、ローンの利子を計算します。 LogLine()メソッドは、診断メッセージをコンソールウィンドウに送信します。
次のコードはメソッドを実装しています。 (行番号は参照用にのみ記載されています)。

あなたには次の要件があります。
CalculateInterest()メソッドは、すべてのビルド構成に対して実行する必要があります。

LogLine()メソッドは、デバッグビルドに対してのみ実行する必要があります。

メソッドが正しく実行されるようにする必要があります。
この目標を達成するには、2つの方法がありますか? (各正解は完全な解答を提示する。
2つを選択してください。)
正解:D,G
説明/参照:
Explanation:
D:また、voidを返すメソッドで[条件付き( "DEBUG")]属性を使用すると、特定のシンボルが定義されている場合にのみそれらを実行できることを指摘しておく価値があります。シンボルが定義されていない場合、コンパイラはこれらのメソッドへの呼び出しをすべて削除します。
[条件付き( "DEBUG")]
void PrintLog(){
Console.WriteLine( "デバッグ情報");
}
void Test(){
PrintLog();
}
G:C#コンパイラが#if指令に遭遇し、最終的に#endif指令が続くと、指定されたシンボルが定義されている場合にのみ指令間のコードがコンパイルされます。 CおよびC ++とは異なり、シンボルに数値を割り当てることはできません。 C#の#if文はブール値であり、シンボルが定義されているかどうかのみをテストします。例えば、
#define DEBUG
#DEBUGの場合
Console.WriteLine( "Debug version");
#endif
リファレンス:http://stackoverflow.com/questions/2104099/c-sharp-if-then-directives-for-debug-vs-release