泛型类是否可以继承 T?备注:我知道目前是不行的,编译报错
public abstract class ParentClass { } public class Class<T> : T where T : ParentClass { }
假如我们在约束这个 T 的时候,就限定这个 T 是一个完全时间了 ParentClass 的非封闭类,那这是否可行?
类里的泛型不能继承,但是实例化对象的时候可以通过通配符来限定对象的泛型,这个之前看到过,但也不是太了解,给个链接http://blog.csdn.net/gjb724332682/article/details/52838494
我知道这样是不行的,因为你无法约束 T 是一个非封闭类,所以我在上面说的是假如,假如我们把这个 T 通过一个关键字,把 T 限定成是一个已经完全实现父类的非封闭类,那是不是就可以了
直接把 t 换成 parentclass 不就好了
哎,我要继承的是子类啊,不是父类啊
这是 c#吧,注明下呀
问题的核心是,我们是否可以通过泛型约束,将 T 约束成一个可以被继承的 T(备注:目前的.Net 的编译器貌似不行)
那你把子类放上去不就好了? 既然定了类型 就不要用范性啊。。。 傻吗不是 范型的目的不就是 在类型不定的时候用的吗。 c# 的语法糖虽然多 但是不用又不会死啊