翻訳と辞書
Words near each other
・ デリカテッセン (映画)
・ デリカテッセン (曖昧さ回避)
・ デリカレ
・ デリカ・スペースギア
・ デリク
・ デリク・ガイラー
・ デリク・ブルジョワ
・ デリク・ブルー
・ デリゲート
・ デリゲート (プログラミング)
デリゲート機能
・ デリコ
・ デリコス! 〜お電話一本、私をお届け〜
・ デリシア
・ デリシア (スーパーマーケット)
・ デリシャカス
・ デリシャス!
・ デリシャスレーベル
・ デリシャス・フライデー
・ デリシャス・レーベル


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

デリゲート機能 : ウィキペディア日本語版
デリゲート (プログラミング)

デリゲート (delegate、デレゲート) とは、C#Visual Basic .NETなどの、.NET Frameworkプログラミング言語にある機能である。
== 概要 ==
デリゲートは、オブジェクトへの参照と関数オブジェクトへの参照をペアにして持つものである。オブジェクト指向プログラミングとしては、メソッドカプセル化するクラスとも言える。型安全であるという特徴がある。
C++の「メンバ関数を指すポインタ」や、Object PascalDelphi)の「インスタンスのメソッドへのポインタを格納する、メソッドポインタ」と同様のものである(DelphiもC#もアンダース・ヘルスバーグによる設計である)。また、Microsoft Visual J++も、Javaと非互換のデリゲートを導入したが、.NET Frameworkのデリゲートはこれらを発展させたものである。
デリゲートは主に、イベント処理での活用(コールバック処理のカスタマイズ)を想定している。Javaなどでのインターフェイスを利用したイベント処理と比べ、メソッド名を自由に宣言できる、振る舞いをカスタマイズするためにインターフェイスの実装やスーパークラスの継承を行なう必要がない、などの利点がある。
C#では複数のデリゲートを+, -, +=, -=演算子によって結合・分離させることもできる(マルチキャストデリゲート〔方法 : デリゲートを結合する (マルチキャスト デリゲート) (C# プログラミング ガイド) 〕)。また、デリゲートの追加・削除と呼び出しに制約を加えて安全なコードを記述するための機構としてeventキーワードが用意されている〔event (C# リファレンス) 〕 〔方法 : イベント サブスクリプションとサブスクリプションの解除 (C# プログラミング ガイド) 〕。eventキーワードで修飾されたデリゲート型メンバーに、外部からイベントのサブスクリプション(購読)を追加・削除する手段としては、+=演算子および-=演算子によるアクセスのみが許可される。また、eventキーワードで修飾されたデリゲート型メンバーを、クラス外部からメソッドとして呼び出すことはできない。なお、+=演算子および-=演算子の処理をカスタマイズするために、eventキーワードで修飾されたデリゲート型メンバーのaddアクセッサーとremoveアクセッサーを明示的に記述することも可能である。
そのほか、スレッドプールを利用して非同期でデリゲートを実行する機能も存在する(非同期デリゲート〔デリゲートを使用した非同期プログラミング 〕)。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「デリゲート (プログラミング)」の詳細全文を読む

英語版ウィキペディアに対照対訳語「 Delegate (CLI) 」があります。



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.