在Java中,我可以执行以下操作:(假设Subclass
扩展Base
):
ArrayList<? extends Base> aList = new ArrayList<Subclass>();
C#中的类似功能是什么.网显然没有? extends
个关键词,这不起作用:
List<Base> aList = new List<Subclass>();
在Java中,我可以执行以下操作:(假设Subclass
扩展Base
):
ArrayList<? extends Base> aList = new ArrayList<Subclass>();
C#中的类似功能是什么.网显然没有? extends
个关键词,这不起作用:
List<Base> aList = new List<Subclass>();
实际上,有一个相当于where
的关键字.我不知道它有多"接近".我有一个功能,我需要做类似的事情.
我找到了一个msdn page分的答案.
I don't know if you can do this inline for a variable, but for a class you can do:
public class MyArray<T> where T: someBaseClass
or for a function
public T getArrayList<T>(ArrayList<T> arr) where T: someBaseClass
我没有在页面上看到它,但使用where
关键字可能会有一个变量.