初期化の一部としてジェネリック型を取るクラスがあります。
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();
これは可能ですか?私はこれに対する答えをオンラインで見つけることができないようです。