C# 调用者信息特性(Attribute)

.NET 4.5中引用了三种特性(Attribute), 该特性容许获取调用者的当前编译器的执行文件名、所在行数与方法或属性名称。spa

 

命名空间code

System.Runtime.CompilerServices orm

包含下面3种特性的说明以下:blog

CallerFilePath :  容许获取包含调用方的源文件的完整路径。 这是编译时的文件路径。编译器

CallerLineNumber容许获取源文件中调用方法的行号。string

CallerMemberName: 容许获取方法调用方的方法或属性名称。it

 

调用示例编译

以上的特性, 都规定该特性只能应用于参数中, 而且须要提供默认行参, 以下:class

        public static void ShowInfo(
            [CallerFilePath] string file = null,
            [CallerLineNumber] int number = 0,
            [CallerMemberName] string name = null)
        {
            Console.WriteLine(string.Format("{0} - {1} - {2}", file, number, name));
        }

调用该方法的输出, 则输入编译执行的文件、行号、方法或属性名。file

      static void Main(string[] args)
        {
            ShowInfo();   //输出: C:\Users\admin\source\repos\Call\Call\Program.cs - 14 - Main             Console.ReadKey();
        }
相关文章
相关标签/搜索