私はこのような何かを持っている:一般抽象クラスを返すには?
そのconstrustorsがプライベートであるため、これらのクラスをインスタンス化することはできませんので、我々は次のように行うことができないことが非常に重要であるabstract class BaseClass<T>
{
protected BaseClass(){}
}
class Class1 : BaseClass<Class1>
{
public static Class1 Instance = new Class1();
private Class1(){}
}
class Class2 : BaseClass<Class2>
{
public static Class2 Instance = new Class2();
private Class2(){}
}
...
public BaseClass<T> Method<T>(int z) where T: BaseClass<T>
{
switch(z)
{
case 1:
return Class1.Instance;
case 2:
return Class2.Instance;
}
}
public BaseClass<T> Method<T>(int z) where T: BaseClass<T>,
新しい()
方法戻り値の型として抽象クラスを使用できますか?私はこれを解決できません。ここで何か助けに感謝します。
事実、「メソッド」はファクトリメソッドと似ています...全体の依存関係は少し複雑で、私はできるだけ単純なスケルトンとして投稿しました。 Class1.InstanceがClass1を返すように変換できないという問題が発生しました –