泛型类型推断 - 泛型类型的泛型

时间:2021-07-26 18:24:30

标签: c# generics inference

这纯粹是审美问题,但我认为还是值得一问。在以下代码中:

interface IGiveResult<TResult>
{
    TResult GetResult();
}

static class ResultGetter
{
    GetResultFrom<TResultGiver, TResult>(TResultGiver giver) where TResultGiver : IGiveResult<TResult>
    {
        return giver.GetResult();
    }
}

要调用 GetResultFrom,我需要像这样指定两个类型参数:

ResultGetter.GetResultFrom<SomeGiverType, SomeResultType>(someGiverInstance);

但是,我想调用是这样的:

ResultGetter.GetResultFrom<SomeGiverType>(someGiverInstance);

毕竟,编译器拥有推断第二个泛型类型所需的所有信息。但是,这不会编译。是否可以更改此代码,以便不必指定结果类型?

0 个答案:

没有答案