delegateの使いどころ – プログラミング – Home

通知
すべてクリア

[解決済] delegateの使いどころ


クレオ
 クレオ
(@クレオ)
ゲスト
結合: 19年前
投稿: 40
Topic starter  

クレオです。

C#の勉強中なのですが、どうもdelegateの使いどころがわかりません。
delegateを使用しているeventは強力な機能だなぁとは思いますが、
ただdelegateを使いたい場合がどのようなときなのか疑問です。

ただ処理を委託したいだけなら、直接呼んでしまえばいいのに。
としろうと考えしてみました。


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

イベント以外の用途だと……

・非同期処理を簡単に行いたい場合
BeginInvoke / EndInvokeを使うと,スレッドの生成が簡単に可能です。
・他のスレッドに属するUIコントロールを弄りたい場合
Control.Invokeへの経由が必須

あたりが主となるものかと。


返信引用
クレオ
 クレオ
(@クレオ)
ゲスト
結合: 19年前
投稿: 40
Topic starter  

なんとなくわかりましたが、
delegateである必要があるのかなぁとか思ったり。私の理解不足ですね。

C++で使うCallBackぐらいに思っておけばいいんでしょうか?


返信引用
porin
 porin
(@porin)
ゲスト
結合: 19年前
投稿: 10
 

説明しようと思ったけど長くなりそうなので URL をペタペタ

デリゲート
http://wisdom.sakura.ne.jp/programming/cs/cs54.html

こっちの方が分かりやすいのかな……
http://ukamen.hp.infoseek.co.jp/Programming/Delegate/


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

個人的には,コールバックにデリゲートは使わないですね。
ただ,C# 2.0の匿名デリゲートがあるので,コールバックに使うことが増えるかもしれま
せん。


返信引用
クレオ
 クレオ
(@クレオ)
ゲスト
結合: 19年前
投稿: 40
Topic starter  

に処理をゆだねる相手が決まっているとは限らないし、
相手が常に1つとも限らない。このような状況に対処するために、
C#のdelegate機能が存在するわけである
(@IT:C#入門より)

つまりこーいうことなんですかね。なんとも自分では具体的にこーいうときに
使う。というのが出てきませんが理解したことします。
勉強しながら理解を深めていきます。

みなさん、ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました