ファクトリ クラスは、私が探している最終製品ではありませんが、基本的には私の問題です。別のクラス bar でパラメーターとしてコンストラクターに渡すことができる foo と呼ぶクラスを探しています。後で fooInstance.create() を呼び出すと、bar の新しいインスタンスが返されます。fooInstance.create(bar) で bar のインスタンスを作成する方法は簡単に理解できます。しかし、それは私が必要とするものではありません。特定のタイプのオブジェクトを作成するには、ファクトリ クラスの各インスタンスが必要です。それで:
fooCar = new foo(Car);
fooTruck = new foo(Truck);
myCar = fooCar.create();
myTruck = fooTruck.create();
これは、C# の Generics で簡単に処理できます。エラーが発生するか、foo のすべてのインスタンスによって作成された型を変更する foo のプロトタイプを台無しにしてしまいます。