You are testing an application. The application includes methods named CalculateInterest and LogLine. The
CalculateInterest() method calculates loan interest. The LogLine() method sends diagnostic messages to a
console window.The following code implements the methods. (Line numbers are included for reference only.)
You have the following requirements:
The CalculateInterest() method must run for all build configurations.
The LogLine() method must run only for debug builds.
You need to ensure that the methods run correctly.
What are two possible ways to achieve this goal? (Each correct answer presents a complete solution. Choose
two.)
A.
Insert the following code segment at line 01:
#region DEBUG
Insert the following code segment at line 10:
#endregion
B.
Insert the following code segment at line 01:
[Conditional(“DEBUG”)]
C.
Insert the following code segment at line 05:
#region DEBUG
Insert the following code segment at line 07:
#endregion
D.
Insert the following code segment at line 10:
[Conditional(“DEBUG”)]
E.
Insert the following code segment at line 01:
#if DEBUG
Insert the following code segment at line 10:
#endif
F.
Insert the following code segment at line 10:
[Conditional(“RELEASE”)]
G.
Insert the following code segment at line 05:
#if DEBUG
Insert the following code segment at line 07:
#endif
Explanation:
D: Also, it’s worth pointing out that you can use [Conditional(“DEBUG”)] attribute on methods that return void tohave them only executed if a certain symbol is defined. The compiler would remove all calls to those methods if
the symbol is not defined:
[Conditional(“DEBUG”)]
void PrintLog() {
Console.WriteLine(“Debug info”);
}
void Test() {
PrintLog();
}
G: When the C# compiler encounters an #if directive, followed eventually by an #endif directive, it will compile
the code between the directives only if the specified symbol is defined. Unlike C and C++, you cannot assign a
numeric value to a symbol; the #if statement in C# is Boolean and only tests whether the symbol has been
defined or not. For example,
#define DEBUG
#if DEBUG
Console.WriteLine(“Debug version”);
#endif
http://stackoverflow.com/questions/2104099/c-sharp-if-then-directives-for-debug-vs-release
G,D