所以,在Alfred类的定义中:
protected Array<Buddy> importantArray;
而我在AlfredJunior中想要的是:
private class BuddyJunior : Buddy{ public int newFIEld; // Constructors omitted}protected Array<BuddyJunior> importantArray;
我希望Alfred中定义的方法能够访问和使用importantArray的元素,就好像它们是Buddy类型,而不是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> { }总结
以上是内存溢出为你收集整理的c# – 如何在抽象类中声明任何类型的数组(从给定类型派生)?全部内容,希望文章能够帮你解决c# – 如何在抽象类中声明任何类型的数组(从给定类型派生)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)