0

如果您有一个需要包含 bool 或称为自定义数字类型的泛型类型,Number那么为 bool 创建一个包装器类型并让包装器和Number继承自同一个基类不是一个坏主意吗?这样你MyClass<bool>就不会了MyClass<BoolWrapper>

它将确保您只能做MyClass<RightType>,其中RightTypebool包装器、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) { ... }

保重,克尔。

4

0 回答 0