在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#中编写相同的代码? (即,不在构造函数中)
由于
答案 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(){}
}