2012-03-19 8 views
0

ためである方法を見つけることができます。どのように私はこのような何かがあるC#のソースでイベント

public event UnloadHandler Unload; 
public delegate void UnloadHandler(); 

その後、プログラムの中で(アンロードするためにコールがある)、私が見てF12を打ちますそのイベント宣言に再びジャンプします。では、このUnload()メソッドの実際の本体をどのように見つけることができますか?

答えて

4

Unloadは、eventではありません。は、「実体」です。

イベントが発生すると、これに接続されているすべてのハンドラが順番に実行されます。添付のハンドラのリストをクラス内のコードからDelegate.GetInvocationListまで取得できますが、実装するコードに魔法のようにジャンプすることはできません。

あなたは何ですか doは、ソースを検索することによって、構文ハンドブックUnload += /* something */でイベントハンドラがアタッチされている場所を検索します。これは、イベントが発生したときに実行される予定のものを正確に示します。

1

右クリックし、「使用状況を検索」を選択します。 Unloadイベントにメソッドを割り当てる必要があります(複数の場合があります)。それはあなたが、その後追加されますハンドラにF12キーを打つことができ

this.Unload += new UnloadHandler(form_Unload); 

または

this.Unload += form_Unload; 

ようになります。

+0

、ありませんか? –

+0

Shift-F12はVS 2010で同じ操作を行う必要があります –

1

最も簡単な方法は、UnloadHandler宣言でF12を押すことです。あなたがVisual Studioを持っているなら、Unload + =(TAB)のようなものを試してみてください。そしてVisual Studioが自動的にメソッドスタブを生成します。あなたはReSharperのをインストールしている場合は動作します

乾杯、 イワン

関連する問題