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


.NET 4.5中引用了三種特性(Attribute), 該特性允許獲取調用者的當前編譯器的執行文件名、所在行數與方法或屬性名稱。

 

命名空間

System.Runtime.CompilerServices

包含下面3種特性的說明如下:

CallerFilePath :  允許獲取包含調用方的源文件的完整路徑。 這是編譯時的文件路徑。

CallerLineNumber允許獲取源文件中調用方法的行號。

CallerMemberName: 允許獲取方法調用方的方法或屬性名稱。

 

調用示例

以上的特性, 都規定該特性只能應用於參數中, 並且需要提供默認行參, 如下:

        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));
        }

調用該方法的輸出, 則輸入編譯執行的文件、行號、方法或屬性名。

      static void Main(string[] args)
        {
            ShowInfo();   //輸出: C:\Users\admin\source\repos\Call\Call\Program.cs - 14 - Main             Console.ReadKey();
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM