じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

J# で WndProc のオーバーライドが可能に

J# 2003 までは WndProc メソッドはオーバーライドできませんでした。

WndProc メソッドをオーバーライドするには、参照渡しの引数を持つメソッドが定義できなければなりません。
J# 2003 までは、この参照渡しの引数を表現する機構がサポートされていませんでした。
つまり、WndProc メソッドに限らず、参照渡しの引数を持つメソッドは、オーバーライドできなかったのです。(;^-^)

基底クラス (Java 的には、スーパークラス) へのメソッドの '呼び出し' については、
VJ# のコンパイラが暗黙の変換を行ってくれるがために可能でした。

参照渡しをする引数であることを、コンパイラに知らせるには、
前回の記事、J# に追加された @ref タグ で書いたように、@ref タグを使用します。

J# 2005

public class Form1 extends SuperForm1 {

   自動で生成されるコードは省略... 

    protected void WndProc(/** @ref */ System.Windows.Forms.Message m) {
        super.WndProc(m)
    }

}

J# 2005 では、@ref タグが追加されたことにより、'呼び出し' だけでなく '定義' ができるようになりました。
その結果として「WndProc など、参照渡しの引数を持つメソッドがオーバーライド可能になった」が正しいです。

投稿日時 : 2006年4月19日 0:35

コメントを追加

# re: J#2005 では WndProc のオーバーライドが可能 2006/04/19 9:08 じゃんぬ

さすが J# だ。
全然反応がなくとも何ともないぜ。

# re: J#2005 では WndProc のオーバーライドが可能 2006/04/20 12:04 シャノン

頑張れ J#。負けるな J#。MS にも見限られた不憫な子よ。

# re: J# で WndProc のオーバーライドが可能に 2006/05/07 16:29 じゃんぬ

おk。

さすが J# だ。
やっとコメントついたのに擁護してもらえないぜ。

タイトル  
名前  
URL
コメント