-1

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

4 に答える 4

3

C#の土地では

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

編集:中括弧が多すぎてコメントが修正されました

于 2013-01-13T12:31:06.717 に答える
0

答えは、Javaの場合と同様に、フィールドのアクセスレベルによって異なります。フィールドがプライベートではないと仮定すると、スーパークラスフィールドに、子クラスに属しているかのようにアクセスできるはずです。

于 2013-01-13T12:28:17.750 に答える
0

C#では、派生クラスのどこからでもスーパークラスの非プライベートフィールドにアクセスできます。

于 2013-01-13T12:29:07.177 に答える
0

C# では、 を使用して基本クラスを継承/実装できます:。クラスで {} をすぐに使用することはできません。メソッドまたはコンストラクター名の後に {} が必要です

例えば

public class ParentFoo {
  public Parentfoo() {}
}

public class ChildFoo:ParentFoo -- inheriting parentfoo
{
   public ChildFoo(){}
}
于 2013-01-13T12:32:27.257 に答える