//#define Istest //定义一个宏
using System;
using System.Diagnostics;
namespace Contional特性//禁用方法
{
class Program
{
[Conditional("IsTest")]//宏被定义时,方法才可被调用(方法仍会被编译放入程序集当中)
static void Text1()
{
Console.WriteLine("Text1");
}
static void Text2()
{
Console.WriteLine("Text2");
}
//调用者信息特性,DebuggerStepThrough特性
[DebuggerStepThrough]//可以跳过Debugger的单步调试 调试时略过该方法(确定该方法无错误是可以使用)
static void PrintOut(string str,
[CallerFilePath]string fileName="",[CallerLineNumber]int lineNumber=0,[CallerMemberName]string methodName="")
{
Console.WriteLine(str);
Console.WriteLine(fileName);//调用者文件路径
Console.WriteLine(lineNumber);//调用行
Console.WriteLine(methodName);//调用方法名
}
static void Main(string[] args)
{
Text1();
Text1();
Text2();
PrintOut("123");//断点
}
}
}