C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 142 を表示中)
■83049 / )  Funcデリゲートについての質問
□投稿者/ rotto (1回)-(2017/03/01(Wed) 14:45:31)

分類:[.NET 全般] 

デリゲートについて質問させてください
例えば、Funcデリゲートですが
c#では

public delegate TResult Func<in T, out TResult>(
T arg
)
という風に定義されています。
ジェネリックで
第1パラメーターがT型、第2パラメーターがTresult型になっています。

つまり、第1パラメーターで受け取った型が処理の引数に
第2パラメーターで受け取った型が処理の戻り値になります。

これは、これでいいのですが Ienumerableインターフェースに追加されている
拡張メソッドににはこのような記述があります。

public static IEnumerable<TSource> Where<TSource>(
this IEnumerable<TSource> source,
Func<TSource,&#8194;int,&#8194;bool> predicate
)

Func<Tsource,int,bool>とあります。

Funcデリゲートの型パラメーターは2つまで受け取り可能だと思っていたのですが
ここでは3つ型パラメーターを指定しています。

これはどうしてでしょうか?
理由を教えてください。よろしくお願いします。

返信 編集キー/


管理者用

- Child Tree -