我如何在抽象类中声明任何类型的数组(从给定类型派生)?

面包师14

我不确定什么是正确的英语单词,所以我认为最好在代码中加以说明。我有一个基本的抽象Windows Forms类,该类用于创建许多派生的Windows Forms,它们具有相似的用途。在我们称为抽象基类中,Alfred我有一个type数组Buddy不过有时候,当我想继承时Alfred,我也想Buddy使用特定于新派生表单的某些功能覆盖类AlfredJunior

因此,在class的定义中Alfred

protected Array<Buddy> importantArray;

我想要的AlfredJunior是:

private class BuddyJunior : Buddy
{
    public int newField;
    // Constructors omitted
}
protected Array<BuddyJunior> importantArray;

我想使用中定义的方法Alfred来访问和使用元素,importantArray就好像它们是typeBuddy而不是BuddyJunior但是我只需要BuddyJunior继承形式中的一些额外功能(一个额外的字段)AlfredJunior正确的解决方法是什么?

谜团

这是您需要的:

public abstract class Alfred<B> where B : Buddy
{
    protected B[] importantArray;
}

public class Buddy { }

public class BuddyJunior : Buddy
{
    public int newField;
}

public class Alfred : Alfred<Buddy> { }

public class AlfredJunior : Alfred<BuddyJunior> { }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为具有TypeScript中类型变量的抽象类的派生类分配通用类型

来自分类Dev

在C ++中声明抽象类型的变量

来自分类Dev

如何在抽象类中声明List变量

来自分类Dev

如何在C ++中声明抽象类

来自分类Dev

如何在C ++中声明抽象类的向量列表?

来自分类Dev

抽象类作为类型,派生类作为实例在C ++中

来自分类Dev

返回抽象类中的具体类型

来自分类Dev

python中的抽象类:强制类型

来自分类Dev

如何在Java中声明类类型的数组

来自分类Dev

使用派生类型实现抽象类

来自分类Dev

C ++抽象类型声明

来自分类Dev

不要知道如何从在C#中声明为抽象类类型的对象中检索属性

来自分类Dev

如何在AGDA中定义抽象类型

来自分类Dev

如何在AGDA中定义抽象类型

来自分类Dev

Julia中抽象类型数组的用法

来自分类Dev

如何在C ++中创建抽象类的数组

来自分类Dev

如何在Scala中反映与抽象类型的类型参数相对应的具体类型?

来自分类Dev

Scala 中的抽象类型、变量和类型类

来自分类Dev

如何从抽象类列表中检索派生类?

来自分类Dev

如何从抽象类列表中检索派生类?

来自分类Dev

如何指定抽象类型必须在scalaz中实现某些类型类?

来自分类Dev

如何在派生实例化之前创建抽象类

来自分类Dev

根据类型类设置抽象类型

来自分类Dev

如何在具有抽象类型变量的基本特征中反映Scalavro联合类型?

来自分类Dev

如何在F#中创建类型参数抽象类型?

来自分类Dev

如何在 Julia Base 中查找抽象类型的子类型?

来自分类Dev

如何在 Julia 中为抽象类型的所有参数子类型定义方法?

来自分类Dev

在抽象类A中可以创建类型为抽象类A的静态字段

来自分类Dev

如何返回抽象类型?

Related 相关文章

热门标签

归档