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