我有一个类,它将 GenericType 作为其初始化的一部分。
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();
这可能吗? 我在网上找不到答案。