.NET TIPS 汎用的に使用できる定義済みのデリゲート型は?[C#、VB]デジタルアドバンテージ 遠藤 孝信2008/04/10 |
|
|
.NET Framework 2.0のジェネリックや.NET Framework 3.5でのラムダ式などの導入により、C#やVBでデリゲートの仕組みを使用する機会が増えている。これに伴い、.NET Frameworkのクラス・ライブラリには、汎用的に使用できるデリゲート型の定義が多く追加されている。
ここでは、そのような定義済みのデリゲート型をまとめてみた。以下の2つの表はそれをC#およびVisual Basic(以下、VB)で表記したものだ。MethodInvoker型はSystem.Windows.Forms名前空間で定義されているが、それ以外はすべてSystem空間で定義されている。
| ||||||||||||||||||||||||||||||
クラス・ライブラリで定義されている汎用的なデリゲート型(C#) | ||||||||||||||||||||||||||||||
利用可能環境の番号は.NET Frameworkのバージョンを表す。 |
| ||||||||||||||||||||||||||||||
クラス・ライブラリで定義されている汎用的なデリゲート型(VB) | ||||||||||||||||||||||||||||||
利用可能環境の番号は.NET Frameworkのバージョンを表す。 |
この表からも分かるように、.NET Framework 3.5ではジェネリック・デリゲートであるAction型*とFunction型が用意されているため、引数が4つまでであれば、すべてのタイプのメソッドに対応することができる。
* Action<T>デリゲート型だけは.NET Framework 2.0で追加されていた。 |
このため.NET Framework 3.5では、たいていの場合において自分でデリゲート型を宣言する必要がなくなったといえるだろう。
カテゴリ:C# 処理対象:データ型 カテゴリ:Visual Basic 処理対象:データ型 使用ライブラリ:Actionデリゲート(System名前空間) 使用ライブラリ:Funcデリゲート(System名前空間) 使用ライブラリ:Comparisonデリゲート(System名前空間) 使用ライブラリ:Converterデリゲート(System名前空間) 使用ライブラリ:Predicateデリゲート(System名前空間) 使用ライブラリ:MethodInvokerデリゲート(System.Windows.Forms名前空間) |
|
「.NET TIPS」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|