アクションタイプの方法は、0-16パラメータを委任ますが、戻り値を持つことができません。
タイプのFuncパラメータを委任することができる方法は、戻り値を持っている必要があります。
使用Actoin
使用したシステムを、 使用System.Collections.Genericを、 使用してSystem.Linqのを、 使用System.Textのを、 使用System.Threading.Tasks; 名前空間イベント { クラスプログラム { 静的 ボイドメイン(文字列[]引数) { アクション < INT >デルM2 = ; // 関数パラメータデリゲート デル(10 ); アクションDEL1 = M1; // 関数のパラメータは委任しない DEL1(); アクション < int型、INT > DEL2 = M3; // 関数デリゲート2つのパラメータ DEL2(10、20 ); Console.ReadKey(); } 静的 ボイドM1() { Console.WriteLineを(" M1 " ); } 静的 ボイド M2(INT A) { Console.WriteLineを(A); } 静的 ボイド M3(int型 A、int型B) { Console.WriteLineを(" {0}、{} 1 "、A、B)。 } } }
Func <パラメータ、戻り値>デリゲートの使用は返すことがあります
使用したシステムを、 使用System.Collections.Generic; 使用System.Linqの、 使用System.Textのを、 使用System.Threading.Tasks; 名前空間のイベント { クラスプログラム { 静的 ボイドメイン(文字列[]引数) { のFunc < int型 > = M1楽しいです; // int型の値を返すパラメータを指定せずに方法を委任する )楽しい(; のFunc < int型、文字列 > = M2のFUN1; //は、string型の戻り値を委託、INTパラメータメソッド FUN1を(29); Console.ReadKey(); } 静的 int型 M1() { 返す 10 。 } 静的 文字列 M2(INT A) { 戻り " ストリング" 。 } } }