我想知道,C#是否支持孙子类。我想做下一个:
class Base
{
}
class DerivedFromBase : Base
{
}
class Grandchild : DerivedFromBase //I recieve an error in this class
{
}
在Java中,我可能会这样做,但C#在Grandchild类中生成错误。它只支持一个派生类吗?
答案 0 :(得分:2)
不,请发布您的错误。另请注意,您的基础已来自Object
,因此DerivedFromBase
是孙子。
答案 1 :(得分:0)
C#支持(实际上)无限级别的派生。如果您收到错误,则由其他原因引起。
答案 2 :(得分:0)
它只支持一个派生类,但该类也可以是派生类。就像在Java中一样。你的问题在别处。
准备一个问题,用最少的代码重现您的情况,并将其与编译器输出一起发布。
答案 3 :(得分:0)
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);
}
}