C#代码块在课堂上

时间:2013-01-13 12:23:20

标签: c# class syntax

在java中,我可以编写这样的代码。

public class Map1 extends MapInfo {

    {
        // I can access fields of the super class
    }

}

目前在sharpdevelop中编写此代码,代码完成并没有显示出来。

public class Map1 : MapInfo {

    {
        // It gives error.
        // Invalid token '{' in class, struct, or interface member declaration (CS1519) - C:\Users\sriharshach....st\Map.cs:10,3
    }

}

有没有办法在c#中编写相同的代码? (即,不在构造函数中)

由于

4 个答案:

答案 0 :(得分:3)

在C#land中它将是

public class Map1 : MapInfo
{
   // You can access protected and public fields / methods from the SuperClass
   // and internal + protected internal 
}

编辑:有太多花括号并修正了评论

答案 1 :(得分:0)

答案与Java一样,取决于字段的访问级别。假设这些字段不是私有的,您应该能够访问超类字段,就像它们属于子类一样。

答案 2 :(得分:0)

在C#中,您可以在派生类中随处访问超类的非私有字段。

答案 3 :(得分:0)

在C#中,您可以使用:继承/实现基类,不能在类中立即使用{}。您需要方法或构造函数名称,后跟{}

例如

public class ParentFoo {
  public Parentfoo() {}
}

public class ChildFoo:ParentFoo -- inheriting parentfoo
{
   public ChildFoo(){}
}