我有一个将通用类型作为其初始化的一部分的类。
public class AnimalContext<T>
{
public DoAnimalStuff()
{
//AnimalType Specific Code
}
}
我现在能做的是
AnimalContext<Donkey> donkeyContext = new AnimalContext<Donkey>();
AnimalContext<Orca> orcaContext = new AnimalContext<Orca>();
但是我需要/想要做的是能够声明一个初始化为仅在运行时才知道的类型的 AnimalContext。例如,
Animal a = MyFavoriteAnimal(); //returns an instance of a class
//implementing an animal
AnimalContext<a.GetType()> a_Context = new AnimalContext<a.GetType()>();
a_Context.DoAnimalStuff();
这甚至可能吗?我似乎无法在网上找到答案。