2016-04-08 11 views
1

は、私が書くことができますVBで混乱オーバーロードの解決の失敗に関する数は、C#で

Enumerable.Range(1, 20).Select<int, int>(i => i) 

、最初のスニペットに相当するものが正常に機能します:

Enumerable.Range(1, 20).Select(Function(i) i) 

しかし、タイプを指定しようとするとパラメータは、それが失敗します。

Enumerable.Range(1, 20).Select(Of Integer, Integer)(Function(i) i) 

を私が得ているエラーがある:なしアク​​セスが「[選択]」型引数のこの番号を受け付けていないため、

BC32087オーバーロードの解決に失敗した

私は理解できません:an overload of extension method named Select with two type parametersがあります。私は間違って何をしていますか?

答えて

4

これを試してみてください:

Enumerable.Range(1, 20).Select(Of Integer)(Function(i) i) 

the overload that you referencedが実際にEnumerableオブジェクトに対する拡張メソッドだったので、最初のパラメータが実際にトリガされたオブジェクトであるので、あなたの前の例が働いていなかった理由でしたコール。

see an example of this being used hereと期待どおり動作します。

関連する問題