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 | 
 
									
								 
									
								 
									
								