以为我在做一些简单的事情,但不知何故甚至无法编译。
protected List<R> Retrieve<R>(T request)
我想编写一个通用方法,可以根据请求类型返回不同的响应。因此,当我调用 web api 站点时,我可能会收到不同的强类型请求,但在此函数中,我将进行 json 序列化,发送请求,并将响应反序列化。
看起来 c# 不允许我这样做。是否有任何解决方法,或者我需要为每个请求编写不同的方法。
由于您使用了两个不同的类型参数,因此您必须定义其中的两个
protected List<R> Retrieve<T, R>(T request)
请注意,它们之一或两者都可以在类型(类/结构)级别声明。
class C<T>
{
protected List<R> Retrieve<R>(T request)
{
return default;
}
}
这与这样声明的Func Delegate相当
public delegate TResult Func<in T,out TResult>(T arg);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句