タイプパラメータからジェネリッククラスを作成する方法はありますか?
私はこのようなものを持っています:
public class SomeClass
{
public Type TypeOfAnotherClass { get; set; }
}
public class OneMoreClass
{
}
public class GenericClass<T>
where T : class
{
public void DoNothing() {}
}
public class GenericClass
{
public static GenericClass<T> GetInstance<T>(T ignored)
where T : class
{
return new GenericClass<T>();
}
}
私が欲しいのは、タイプからGenericClassを作成することです。元:
var SC = new SomeClass();
SC.TypeOfAnotherClass = typeof(OneMoreClass);
var generic = GenericClass.GetInstance(SC.TypeOfAnotherClass);
Assert.AreEqual(typeof(GenericClass<OneMoreClass>), generic.GetType());
ここで私はのインスタンスを取得することを期待していますがGenericClass<OneMoreClass>
、私は取得しますGenericClass<Type>
そのタイプのインスタンスも使ってみました。元:
var generic = GenericClass.GetInstance(Activator.CreateInstance(SC.TypeOfAnotherClass));
今回はGenericClass<object>
このタスクを実行する方法はありますか?