반응형
<reflection>
: 프로그램 실행 도중 객체의 정보를 조사하거나, 다른 모듈에 선언된 인스턴스를 생성하거나, 기존 개체에서 형식을 가져오고 해당하는 메서드를 호출, 또는 해당 필드와 속성에 접근할 수 있는 기능을 제공합니다.
Type.GetConstructors() : 모든 public 생성자 가져옴 -> 괄호 안에 매개변수 타입이 찍힘
Type.GetMethods() : 해당 형식의 메서드 목록을 가져옴
Type.GetFields() : 해당 형식의 필드 목록을 가져옴
* 사용 예시
using System.Reflection;
class Animal
{
public int age;
public string name;
public Animal(string name, int age)
{
this.name = name;
this.age = age;
}
public void eat()
{
Console.WriteLine("먹는다!");
}
public void sleep()
{
Console.WriteLine("잔다!");
}
}
class Program
{
static
void Main(string[] args)
{
Animal animal = new Animal("고양이", 4);
Type type = animal.GetType();
ConstructorInfo[] coninfo = type.GetConstructors();
Console.Write("생성자(Constructor) : ");
foreach (ConstructorInfo tmp in coninfo)
{
Console.Write("\t{0}", tmp);
} Console.WriteLine();
MemberInfo[] meminfo = type.GetMethods();
Console.Write("메소드(Method) : ");
foreach (MethodInfo tmp in meminfo)
{
Console.Write("\t{0}", tmp);
} Console.WriteLine();
FieldInfo[] fieldinfo = type.GetFields();
Console.Write("필드(Field) : ");
foreach (FieldInfo tmp in fieldinfo)
{
Console.Write("\t{0}", tmp);
} Console.WriteLine();
}
}
* 출력된 내용 :
반응형
'[Unity] > [C#]' 카테고리의 다른 글
[C#] 제네릭(Generic) (0) | 2022.10.07 |
---|---|
[C#] readonly 한정자 (feat.const 한정자) (1) | 2022.10.06 |
[C#] partial 클래스 (0) | 2022.10.04 |
[C#] 일반화 프로그래밍 (2) | 2022.09.30 |
[C#] 확장 메서드 기법 (0) | 2022.09.29 |