我可以在c#中派生类的孙子吗?
本文关键字:派生 我可以 | 更新日期: 2023-09-27 18:12:02
我想知道,c#是否支持孙子类。我想做下一个:
class Base
{
}
class DerivedFromBase : Base
{
}
class Grandchild : DerivedFromBase //I recieve an error in this class
{
}
在Java中我可能会这样做,但是c#会在孙辈类中产生错误。它只支持一个派生类吗?
不,请贴出你的错误。还要注意,您的基已经派生自Object
,因此DerivedFromBase
是孙子。
c#允许这样,所以应该没有错误。
我复制了你给我们展示的东西,添加了一些代码,它可以工作。因此,一定是其他原因导致了错误。
检查这里,这是有效的:
using System;
public class Test
{
public static void Main()
{
Grandchild g = new Grandchild();
}
}
class Base
{
public int i=10;
}
class DerivedFromBase : Base
{
public DerivedFromBase()
{
Console.WriteLine(i);
}
}
class Grandchild : DerivedFromBase
{
public Grandchild()
{
Console.WriteLine(i);
}
}
c#支持(实际上)无限级别的派生。如果你得到一个错误,它是由其他东西引起的
它只支持一个派生类,但是这个类也可以是派生类。就像Java一样。你的问题在别处。
用最少的代码准备一个问题,再现你的情况,并将其与编译器输出一起发布。