无法从使用中推断出嵌套Func

时间:2014-02-13 12:21:42

标签: c# generics inferred-type

问:为什么不推断推断的通用参数?

当查看下面的示例时,类型T可以推断为Instance,我们可以看到我们需要没有参数的方法,这也是提供的。该方法返回一个TOut,它必须是int,因为我们不能在返回类型上有重载。

public class Instance
{
    public int Convert()
    {
        return 42;
    }
}

public static class Example
{
    public static void Inferred<T, TOut>(T source, Expression<Func<T, Func<TOut>>> expression)
    {
    }

    public static void Usage()
    {
        var instance = new Instance();
        Inferred(instance, x => x.Convert);
    }
}

0 个答案:

没有答案