在Java中,我可以执行以下操作:(假设Subclass extends Base ):
ArrayList<? extends Base> aList = new ArrayList<Subclass>();C#.NET中的等价物是什么? 有没有? extends 显然? extends关键字,这不起作用:
List<Base> aList = new List<Subclass>();In Java, I can do the following: (assume Subclass extends Base):
ArrayList<? extends Base> aList = new ArrayList<Subclass>();What is the equivalent in C# .NET? There is no ? extends keyword apparently and this does not work:
List<Base> aList = new List<Subclass>();最满意答案
实际上有一个等价(排序), where关键字。 我不知道“接近”是什么。 我有一个功能,我需要做类似的事情。
我找到一个关于它的msdn页面 。
我不知道你是否可以内联这个变量,但是你可以做一个类: public class MyArray<T> where T: someBaseClass 或功能 public T getArrayList<T>(ArrayList<T> arr) where T: someBaseClass
我没有在页面上看到它,但使用'where`关键字可能是一个变量。
Actually there is an Equivalent(sort of), the where keyword. I don't know how "close" it is. I had a function I needed to do something similar for.
I found an msdn page about it.
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
I didn't see it on the page but using the where keyword it might be possible for a variable.
更多推荐
发布评论