C#

C#의 정적 타입 정보 연산자

코샵 2023. 10. 26. 17:00
반응형

C#에서는 정적 타입 정보 연산자를 사용하여 변수, 메서드, 클래스 등의 타입 정보를 확인할 수 있습니다. 정적 타입 정보 연산자는 다음과 같습니다.

  • nameof
  • typeof
  • type.GetFields

nameof 연산자

nameof 연산자는 변수, 메서드, 클래스 등의 이름을 문자열로 반환합니다. nameof 연산자는 다음과 같은 형식을 사용합니다.

nameof(변수 또는 메서드 또는 클래스)

예를 들어, 다음과 같이 사용할 있습니다.

// 변수의 이름을 문자열로 반환합니다.
string variableName = nameof(myVariable);

// 메서드의 이름을 문자열로 반환합니다.
string methodName = nameof(myMethod);

// 클래스의 이름을 문자열로 반환합니다.
string className = nameof(MyClass);

typeof 연산자

typeof 연산자는 변수, 메서드, 클래스 등의 타입 정보를 반환합니다. typeof 연산자는 다음과 같은 형식을 사용합니다.

typeof(변수 또는 메서드 또는 클래스)

예를 들어, 다음과 같이 사용할 수 있습니다.

// 변수의 타입 정보를 반환합니다.
Type variableType = typeof(myVariable);

// 메서드의 타입 정보를 반환합니다.
Type methodType = typeof(myMethod);

// 클래스의 타입 정보를 반환합니다.
Type classType = typeof(MyClass);

 

type.GetFields()

type.GetFields() 메서드는 클래스의 모든 필드 정보를 반환합니다. type.GetFields() 메서드는 다음과 같은 형식을 사용합니다.

C#

type.GetFields();

예를 들어, 다음과 같이 사용할 수 있습니다.

// MyClass 클래스의 모든 필드 정보를 반환합니다.
FieldInfo[] fields = MyClass.GetFields();

// 반환된 필드 정보를 순회합니다.
foreach (FieldInfo field in fields)
{
    // 필드의 이름을 출력합니다.
    Console.WriteLine(field.Name);
}

예시

다음은 정적 타입 정보 연산자를 사용하는 예시입니다.

public class MyClass
{
    public string MyProperty { get; set; }

    public void MyMethod()
    {
        // nameof 연산자를 사용하여 변수의 이름을 문자열로 반환합니다.
        string variableName = nameof(MyProperty);

        // typeof 연산자를 사용하여 변수의 타입 정보를 반환합니다.
        Type variableType = typeof(MyProperty);

        // type.GetFields() 메서드를 사용하여 클래스의 모든 필드 정보를 반환합니다.
        FieldInfo[] fields = MyClass.GetFields();
    }
}

 

이 코드는 다음과 같은 출력을 생성합니다.
MyProperty
System.String
MyProperty

 예시에서 nameof 연산자는 변수 MyProperty 이름을 문자열로 반환합니다. typeof 연산자는 변수 MyProperty 타입 정보를 반환합니다. type.GetFields() 메서드는 클래스 MyClass 모든 필드 정보를 반환합니다.

 

결론

C#의 정적 타입 정보 연산자는 코드의 가독성과 유지보수를 높이는 데 도움이 됩니다. 정적 타입 정보 연산자를 사용하여 코드에서 타입 정보를 쉽게 확인할 수 있습니다.