0

このコードを使用してイベントを登録し、タスクの完了後にイベントの登録を解除したいのですが、イベントの登録にローカルオブジェクトを使用しているため、問題を解決する方法がわかりません..

コード..

public void loadData()
{
//Here client is loacal object..
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(AccessTokenDownloadCompleted);
}
void AccessTokenDownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
}
4

2 に答える 2

0
Maybe you can try this:
public void loadData()
{
//Here client is loacal object..
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(AccessTokenDownloadCompleted);
}
void AccessTokenDownloadCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    Client client = sender as Client;
    if(client != null) 
        client.DownloadStringCompleted -= new DownloadStringCompletedEventHandler(AccessTokenDownloadCompleted);
}
于 2013-05-14T01:56:38.643 に答える
0

私の理解が正しければ、ダウンロードの完了後にイベント ハンドラーを削除したいということですね。イベント ハンドラーを削除するには、次の手順を実行する必要があります。

client.DownloadStringCompleted -= new DownloadStringCompletedEventHandler(AccessTokenDownloadCompleted);

-=の代わりに に注意してください+=

ダウンロードが完了する場所にこのコードを配置すれば問題ありません。

于 2013-04-03T13:22:46.533 に答える