public static TServiceInterface CreateClient<TServiceInterface>() where TServiceInterface : class
{
return CreateClient<TServiceInterface>(typeof(TServiceInterface).FullName);
}
...全文
1236打赏收藏
谁能给我讲解下这个方法,越详细越好
public static TServiceInterface CreateClient() where TServiceInterface : class { return CreateClient(typeof(TServiceInterface).FullName); }
where TServiceInterface : class
如果你只是想问这个是什么意思,就是限制了TServiceInterface必须是一个class
我举个简单的例子
T A<T>() {
return null;
}
像上面这样写,编辑器会报一个错误
因为这里T可以是任意类型,比如我调用A<int>();,但是int不可以为null,所以就出错了
为了避免这个情况,要加入where
T A<T>() where T : class {
return null;
}
这样就没有问题了,你可以写A<object>();,A<int[]>();,都没问题
并且where也限制了你不能向上面A<int>();这样调用,编辑器会提示你int不是class