同じインターフェイスを共有し、同じ基本クラスから継承するさまざまなクラスのコンストラクターを呼び出す ManagerClass を持つ方法があるかどうかを知りたいです。ユーザーは実行時に作成するオブジェクトを選択できるため、特定の派生クラス コンストラクター自体を呼び出すことはできません。そのため、実行時までどの派生オブジェクトを作成するかを知ることはできません。
例えば:
public class managerClass : ISomeInterface
{
public BaseClass apply(someDataType) //(Notice return type is BaseClass)
{
派生クラスのコンストラクターを実行するか、本質的に新しい派生オブジェクトを作成し、someDataType をコンストラクターに渡します
}
}
public class derivedClass : BaseClass, ISomeInterface
{
public void doSmthg(){manipulate data and store}
}
public class derivedClass2 : BaseClass, ISomeInterface
{
public void doSmthg(){manipulate data in another way and store}
}
現在、 managerClass は同じ BaseClass から継承されていませんが、これが何らかの形で私がやりたいことを実行できるようにするのに役立つ場合、この変更を行うことに反対しません。