のねのBlog

パソコンやソフト開発で起きた問題など書きます。よろしくお願いします。

C# 継承したクラスのメソッドで一部分を書き換えたいとき

継承したクラスのメソッドで、一部分を書き換えたいとき、
このページの説明が、一番わかりやすかった。

virtualとoverrideというキーワードを用いると、オブジェクトにアクセスする変数の型とは関係なく、置き換えたメソッドが呼び出されるようになったわけである。

In the base class:

protected virtual void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
    MessageBox.Show("called from Test class");
}
In the derived class:

protected override void ncNomSimple_ItemChanged(object sender, EventArgs e)
{
    MessageBox.Show("called from Test1 ");
}

方法 : 派生クラスから基本クラス イベントを発生させる (C# プログラミング ガイド)

このnewは、「継承したクラスにある同名のメソッドの中身を置き換えますよ」ということを示すキーワードである。