У меня есть класс, который принимает тип Generic как часть его инициализации.
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();
Возможно ли это? Кажется, я не могу найти ответ для этого онлайн.