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 |