C#의 유형에서 새 인스턴스 만들기
이 자습서에서는 C#에서 런타임에 지정된 데이터 형식의 새 인스턴스를 만드는 방법에 대해 설명합니다.
C#의Activator
클래스를 사용하여 유형에서 새 인스턴스 만들기
런타임에 데이터 유형의 새 인스턴스를 생성하고 데이터 유형을 모르는 경우Activator
클래스와Type
클래스를 사용하여이 목표를 달성 할 수 있습니다. Activator
클래스는 C#의 유형에서 개체의 인스턴스를 만드는 메서드를 제공합니다. Activator.CreateInstance()
메서드는 C#에서 지정된 유형에 가장 적합한 생성자로 지정된 유형의 인스턴스를 생성하는 데 사용됩니다. Type
클래스는 C#의 데이터 유형을 나타냅니다. Type
클래스를 사용하여이 시나리오에서 알려지지 않은 데이터 유형을 판별 할 수 있습니다. 다음 코드 예제는 C#에서Activator
클래스와Type
클래스를 사용하여 데이터 유형을 몰라도 런타임에 데이터 유형의 새 인스턴스를 만드는 방법을 보여줍니다.
using System;
namespace new_object_from_type {
class Program {
static void Main(string[] args) {
int i = 123;
Type t = i.GetType();
Object n = Activator.CreateInstance(t);
n = 15;
Console.WriteLine(n);
}
}
}
출력:
15
위 코드에서는 C#에서Activator.CreateInstance()
메서드를 사용하여 데이터 유형을 지정하지 않고 런타임에int32
유형의 인스턴스를 생성했습니다. 처음에는 C#의i.GetType()
메소드를 사용하여i
변수의 유형을 결정했습니다. 그런 다음Activator.CreateInstance()
메서드를 사용하여 해당 유형의 인스턴스를 만들었습니다. Activator.CreateInstance()
메소드는 데이터 유형에 가장 적합한 생성자를 자동으로 찾아서 인스턴스를 생성합니다. 그런 다음 새 인스턴스n
을 값15
로 초기화하고 인쇄했습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn