我正在尝试了解一种复杂的方法(对我来说)。
这是该方法的签名:
public static List<T> GetAll<R, T>(RestClient client, RestRequest request) where R : new()
现在,我了解到它将返回一个通用类型,并且需要一个RestClient和RestRequest对象作为参数。
但是我不明白什么:
<R, T>
和
where R : new()
位实际上意味着什么?
有人可以详细说明吗?
答案 0 :(得分:7)
本质上,这个签名说:
public static List<T> GetAll<R, T>(RestClient client, RestRequest request) where R : new()
public
-在大会之外可以访问
static
-非实例,静态(aka类)方法
List<T>
-返回System.Collections.Generic.List<T>
-一个类似数组的集合,其中的项类型为T
GetAll<R, T>
-GetAll
是方法名称; R,T
->我想象RequestType
和T
,其中t是ResponseType
。
(RestClient client, RestRequest request)
只是方法的参数
where R : new()
-该方法仅对类型R
有效,其中R
具有公共无参数构造函数(例如,您可以在new R()
处键入内容)
用途可能是:
List<string> GetAll<object, string>(RestClient client, RestRequest request);
这不是一个很好的签名,因为不清楚作者为什么需要R
。