본문 바로가기

워크/C# 5.0

Caller Information Attributes

C# 5.0에서 도입된 Caller Information Attributes는 메서드나 속성의 호출자 정보를 얻기 위해 사용됩니다. 이를 통해 디버깅이나 진단에 매우 유용한 정보를 얻을 수 있습니다. 주로 사용되는 세 가지 속성은 다음과 같습니다:

  • CallerFilePathAttribute: 현재 파일의 전체 경로를 반환합니다.
  • CallerLineNumberAttribute: 호출자의 코드 줄 번호를 반환합니다.
  • CallerMemberNameAttribute: 호출한 메서드나 속성의 이름을 반환합니다.

다음은 Caller Information Attributes를 사용한 예시 C# 코드입니다:

using System;
using System.Runtime.CompilerServices;

class Program
{
    static void Main(string[] args)
    {
        LogMessage("This is a sample message.");
    }

    public static void LogMessage(string message,
                                  [CallerMemberName] string memberName = "",
                                  [CallerFilePath] string filePath = "",
                                  [CallerLineNumber] int lineNumber = 0)
    {
        Console.WriteLine($"Message: {message}");
        Console.WriteLine($"Member Name: {memberName}");
        Console.WriteLine($"File Path: {filePath}");
        Console.WriteLine($"Line Number: {lineNumber}");
    }
}

위의 코드에서 LogMessage 메서드는 호출한 메서드의 정보를 기록하는데 사용됩니다. LogMessage는 Main 메서드에서 호출되며, 이 때 Caller Information Attributes를 통해 호출한 메서드의 이름, 파일 경로, 줄 번호 정보를 얻을 수 있습니다.

 

이 코드를 실행하면 Main 메서드에서 LogMessage를 호출한 정보 (예: "Member Name: Main", 호출된 파일 경로, 줄 번호)가 출력됩니다.

 

 

 

 

 

 

'워크 > C# 5.0' 카테고리의 다른 글

Windows Runtime (WinRT) 지원  (0) 2023.08.30
Filtered Exception Handling  (0) 2023.08.29
향상된 for 루프와 foreach 루프  (0) 2023.08.28
Async/Await  (0) 2023.08.28
C# 5.0의 주요 특징  (0) 2023.08.28