bool または と呼ばれるカスタム数値型を含む必要があるジェネリック型がある場合、boolNumber
のラッパー型を作成し、ラッパーとNumber
同じ基本クラスから継承するようにするのは悪い考えでしょうか? 代わりにあなたMyClass<bool>
が持っているようにMyClass<BoolWrapper>
?
のみを実行できるようにするためですMyClass<RightType>
。ここで、RightType
はbool
ラッパー、Number
型、または共通の基本クラスです。MyClass<WrongType>
許可されません。これは基本的に、これとaと aMyClass
の 2 つのクラスへの分割の間に立っています。この理由は、私が作成している DSL によるものです。定型コードを回避するために、次のようなことを行うメソッドが必要になる場合があります。MyClassWithBool
MyClassWithNumber
public void Bind<T>(MyClass<T> m) { ... }
しかし、それは間違った型を与えることを許すので、私は次のようなことができるようにしたい:
public void Bind<T>(MyClass<T> m) where T : BaseClass { ... }
次に、私は必要ありません:
public void Bind(MyClassWithBool m) { ... }
public void Bind(MyClassWithNumber m) { ... }
気をつけて、カー。