diff --git a/vs4win/Chapter04/Instrumenting/Program.Methods.cs b/vs4win/Chapter04/Instrumenting/Program.Methods.cs new file mode 100644 index 0000000..9b7187b --- /dev/null +++ b/vs4win/Chapter04/Instrumenting/Program.Methods.cs @@ -0,0 +1,17 @@ +using System.Diagnostics; // Trace +using System.Runtime.CompilerServices; // [Caller...] attributes + +partial class Program +{ + static void LogSourceDetails( + bool condition, + [CallerMemberName] string member = "", + [CallerFilePath] string filepath = "", + [CallerLineNumber] int line = 0, + [CallerArgumentExpression(nameof(condition))] string expression = "") + { + Trace.WriteLine(string.Format( + "[{0}]\n {1} on line {2}. Expression: {3}", + filepath, member, line, expression)); + } +} diff --git a/vs4win/Chapter04/Instrumenting/Program.cs b/vs4win/Chapter04/Instrumenting/Program.cs index 3460f77..4eaf455 100644 --- a/vs4win/Chapter04/Instrumenting/Program.cs +++ b/vs4win/Chapter04/Instrumenting/Program.cs @@ -40,4 +40,7 @@ Trace.WriteLineIf(ts.TraceWarning, "Trace warning"); Trace.WriteLineIf(ts.TraceInfo, "Trace information"); Trace.WriteLineIf(ts.TraceVerbose, "Trace verbose"); -Console.ReadLine(); \ No newline at end of file +int unitsInStock = 12; +LogSourceDetails(unitsInStock > 10); + +Console.ReadLine(); diff --git a/vscode/Chapter04/Instrumenting/Program.Methods.cs b/vscode/Chapter04/Instrumenting/Program.Methods.cs new file mode 100644 index 0000000..9b7187b --- /dev/null +++ b/vscode/Chapter04/Instrumenting/Program.Methods.cs @@ -0,0 +1,17 @@ +using System.Diagnostics; // Trace +using System.Runtime.CompilerServices; // [Caller...] attributes + +partial class Program +{ + static void LogSourceDetails( + bool condition, + [CallerMemberName] string member = "", + [CallerFilePath] string filepath = "", + [CallerLineNumber] int line = 0, + [CallerArgumentExpression(nameof(condition))] string expression = "") + { + Trace.WriteLine(string.Format( + "[{0}]\n {1} on line {2}. Expression: {3}", + filepath, member, line, expression)); + } +} diff --git a/vscode/Chapter04/Instrumenting/Program.cs b/vscode/Chapter04/Instrumenting/Program.cs index 3460f77..4eaf455 100644 --- a/vscode/Chapter04/Instrumenting/Program.cs +++ b/vscode/Chapter04/Instrumenting/Program.cs @@ -40,4 +40,7 @@ Trace.WriteLineIf(ts.TraceWarning, "Trace warning"); Trace.WriteLineIf(ts.TraceInfo, "Trace information"); Trace.WriteLineIf(ts.TraceVerbose, "Trace verbose"); -Console.ReadLine(); \ No newline at end of file +int unitsInStock = 12; +LogSourceDetails(unitsInStock > 10); + +Console.ReadLine();