<T>
유형이 포함된 변수를 사용하여 일반 유형이 포함된 변수를 사용하여 일반 유형의 인스턴스를 생성하는 것은 유형 정보를 동적으로 생성하는 등의 시나리오에서 유용한 기술입니다. List<k>
인스턴스(k는 Type
유형의 변수)를 생성하려고 시도하는 질문에 제공된 코드가 컴파일되지 않을 수 있지만 이 기능을 달성하는 다른 방법이 있습니다.
한 가지 가능한 해결책은 일반 유형 정의에 MakeGenericType
메서드를 사용하는 것입니다. 이 메소드는 유형 매개변수 세트를 승인하고 이러한 매개변수를 사용하여 인스턴스화된 일반 유형 버전인 새 유형을 반환합니다. 이 경우 코드는 다음과 같습니다.
<code class="language-csharp">var genericListType = typeof(List<>); var specificListType = genericListType.MakeGenericType(typeof(double));</code>
genericListType
변수에는 일반 List<T>
유형의 정의가 포함되어 있으며 MakeGenericType
메소드는 특수 List<double>
유형을 반환합니다.
특정 제네릭 유형을 만든 후 Activator
클래스를 사용하여 인스턴스를 만들 수 있습니다. CreateInstance
메소드를 사용하면 타입 정보를 기반으로 새로운 타입의 인스턴스를 생성할 수 있습니다.
<code class="language-csharp">var list = Activator.CreateInstance(specificListType);</code>
위 내용은 유형을 보유하는 변수를 사용하여 일반 유형 인스턴스를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!