을 유추 할 수 없습니다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 : 사실이 아닙니다. 이러한 방법없이 마지막 두 줄을 작성하십시오. 캐스트를 수행하거나 명시 적으로 변수 유형을 지정해야합니다. 이 방법은 이에 대한 지름길입니다. "short to type"의 단축키 :-) –
@DanielHilgarth 글쎄, 내가 말한 것은 사실이지만, 당신이 의미하는 바를 알 수있다. 컴파일러가'var' 키워드로 무엇을해야 하는지를 알기위한 구체적인 유형을 제공한다. 이제 말이 되네. :-) 편집 : 내가 게시 한 것은 완전하지 않으며, 그런 의미에서, 사실이 아닙니다. 예 :) –