を推測することはできません。LINQは、タイプは、このクエリを実行するとき、私は現在、LINQを勉強
public static class Linq
{
// Returns the given anonymous method as a lambda expression
public static Expression<Func<Int32, Int32>>
Expr<T, R>(Expression<Func<Int32, Int32>> f)
{
return f;
}
// Returns the given anonymous function as a Func delegate
public static Func<T, R>
Func<T, R>(Func<T, R> f)
{
return f;
}
}
//main Fun
var expr = Linq.Expr((Int32 a, Int32 b) => a + b);
var fun = Linq.Func((int a, int b) => a + b);
私は次のようなエラーLinq.Expr<T,R>(System.Linq.Expressions.Expression<System.Func<int,int>>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
エラーが発生します。私は間違って何をしていますか?
ここにあなたの '静的クラスLinq'のメンバーのポイントは何ですか?彼らは単に渡されたものを正確に返すだけです。 –
@AndrewBarber:まあまあです。これらのメソッドを使わないで最後の2行を書き込んでみてください。キャストを実行するか、変数のタイプを明示的に指定する必要があります。これらのメソッドは、これのためのショートカットです。 "short to type"のようなショートカット:-) –
@DanielHilgarthまあ、私が言ったことは本当ですが、コンパイラが 'var'キーワードを使って何をすべきかを知るための具体的な型を提供します。今、意味がある。 :-)編集:私が投稿したものは完全ではなく、その意味では、まったく真実ではありません。はい: –