c# でオーバーライドしたスーパークラスの元のメソッドを実行する

● c# でオーバーライドしたスーパークラスの元のメソッドを実行する

変数 base を使用します。

using System;

class CBase {
    public virtual void Foo () {
        Console.WriteLine("CBase.Foo");
    }
}
class CClass : CBase {
    public override void Foo () {
        Console.WriteLine("CClass.Foo");
        
        // baseという特殊な変数が定義されているのでそれを使う。
        base.Foo();
    }
}

class Program {
    static void Main () {
        CClass cobj1 = new CClass();
        
        cobj1.Foo();
    }
}

引用: https://pknight.hatenablog.com/entry/20130201/1359713754

C# virtual,overideの意味がわかる例。 - Qiita

No.1792
06/16 08:58

edit