1
10
没有什么能使这个模式更简单,而且事实上,这个模式并不是完全防弹的-因为你可以:
第二条是完全合法的-
不过,我不同意那些说这是一种糟糕或无用的模式的人。我发现它在 Protocol Buffers -那会是 许多的 没有它更糟。例如:
如果
如果你容易的话,这是值得避免的。 可以 只是因为它变得如此复杂-但我认为这是一个有用的模式。 |
2
5
在这种情况下,通常只需要引用基类:
试图做你正在做的事违反了 Liskov substitution principal . |
3
-1
如果派生类中的继承方法需要返回派生类型而不是基类型(称为 covariant return type ,这在C中已经得到支持。 |
4
-1
我也很难为这个找到一个可以论证的用例(尽管这是一个有趣的想法)。 您是否试图改变您如何约束可以使用的泛型类型?听起来你很想 假设一些基本功能,而不知道实际类型;这就是接口的用途 . WHERE子句对于这些问题非常方便。
上面的示例约束k(键),使其具有可比性和可枚举性,v必须通过自己的接口实现您想要的任何客户功能。 |
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 2 年前 |
milczi · Swift通用无强制展开向下投射 6 年前 |
bugs · Typescript-泛型类型扩展自身 6 年前 |
John Bustos · C#通用工厂模式,不说明通用工厂模式的类型 6 年前 |
Blankdud · 具有默认数据的通用对象创建方法 6 年前 |
Tim Hutchison · 从泛型对象列表中读取泛型值 6 年前 |