如果您有一个需要包含 bool 或称为自定义数字类型的泛型类型,Number
那么为 bool 创建一个包装器类型并让包装器和Number
继承自同一个基类不是一个坏主意吗?这样你MyClass<bool>
就不会了MyClass<BoolWrapper>
?
它将确保您只能做MyClass<RightType>
,其中RightType
是bool
包装器、Number
类型或公共基类。MyClass<WrongType>
不会被允许的。它基本上介于这个和MyClass
分为两个类, aMyClassWithBool
和 a MyClassWithNumber
。其原因是由于我正在制作的 DSL。我可能想要一个方法来做这样的事情来避免样板代码:
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) { ... }
保重,克尔。