C#相当于Java的 in generics)

编程入门 行业动态 更新时间:2024-10-26 01:19:41
C#相当于Java的<?(C#'s equivalent of Java's <? extends Base> in generics)

在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.

更多推荐

本文发布于:2023-07-19 17:19:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1183997.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Java   generics

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!