首页 > 解决方案 > C# .NET Core,函数采用泛型类型的元组值列表

问题描述

我一直在阅读,似乎根本找不到一种方法来允许函数采用泛型元组,但也没有找到任何说元组不能采用泛型参数的地方,这是否可能C#?下面是我要定义的函数类型(显然不起作用)。

public static TController CreateControllerWithAuthenticatedContextsAndResponseMessages<TController>(
        List<Tuple<TRequest, TResponse, Func<TResponse>, Expression<Func<TRequest, bool>>>> genList, 
        string policyName)
        where TController : class
        where TRequest : class
        where TResponse : class
    {

    }

这有可能吗?否则还有其他方法可以获取这些参数吗?它如此复杂的原因是因为我想确保用户(我们)不能传递每个参数的错误数量,因为它需要每个参数之一。

编辑:对不起,应该更清楚。TRequest 和 TResponse 需要是泛型列表,因为它们类似于 AdditionalThis、AddedThat。与结果函数和表达式相匹配。这是为了模拟一个控制器进行测试。

标签: c#genericstuples

解决方案


是的,它确实有效,但您必须在方法的签名中定义所有泛型类型参数:

public static TController CreateControllerWithAuthenticatedContextsAndResponseMessages
    <TController, TRequest, TResponse>
( ... )

2号和3号不见了。


推荐阅读