[c#] Type이 포함 된 변수를 사용하여 Generic <T> 형식 인스턴스 만들기

다음 코드를 얻을 수 있습니까? 작동하지 않는다는 것을 알고 있지만 해결 방법이 있는지 궁금합니다.

Type k = typeof(double);
List<k> lst = new List<k>();



답변

예, 있습니다 :

var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(typeof(double));
var list = Activator.CreateInstance(specificListType);


답변

더 깨끗한 방법은 일반적인 방법을 사용하는 것입니다. 다음과 같이하십시오.

static void AddType<T>()
    where T : DataObject
{
    Indexes.Add(typeof(T), new Dictionary<int, T>());
}


답변