首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新类型参数打开-关闭

问新类型参数打开-关闭
EN

Stack Overflow用户
提问于 2019-11-28 11:00:51
回答 1查看 37关注 0票数 0

我在简单地说,C#上遇到了这样的说法。

从技术上讲,一个子类型上的所有类型参数都是新的:您可以说一个子类型关闭然后重新打开基类型参数。--这意味着一个子类可以给它重新打开的类型参数提供新的(可能更有意义的)名称: 类列表{.}类KeyedList:列表{.}

我不明白用黑体字写的情况是如何进行的,即关闭重开。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-30 11:00:57

它们的意思是子类有自己的、完全独立的泛型参数列表,基类中的泛型参数不会被子类自动“继承”。

而不是关闭和重新打开,他们可以说,清除和重新创建。

但这种清算背后的理由是什么呢?为什么子类类型参数不会自动继承?答案很简单--这样您就可以拥有一个子类,它的泛型参数比它的基类少。

考虑以下例子:

代码语言:javascript
复制
public class TheBase<T> { ... }

// This subclass clears the list of generic parameters
// by instantiating T with int. Thus, the subclass has 0
// generic arguments
public class TheSubclass : TheBase<int> { ...

// This subclass reuses and gives a new name to the base class type argument
// The T from the base class is named TheType here.
// The subclass has 1 generic argument
public class AnotherSubclass<TheType> : TheBase<TheType> { ...

// This subclass reuses the generic argument but also introduces its own.
// It has 2 generic arguments. 
// Base class' T is called U here.
public class YetAnothersubclass<U,V> : TheBase<U>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59087336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档