我有一个看起来像这样的界面
public interface IBlueFinApiClient
{
Task<BlueFinApiResponse> DecryptAsync(BlueFinApiRequest request);
}
这个方法在实现时,只是带到请求和帖子的端点。我需要使用此端点发布另一个不同类型的请求,Task<>
的返回将是不同的类型也是。所以,我试图将其更改为通用,但我仍然坚持如何以通用格式定义返回类型:
public interface IBlueFinApiClient<T> where T:class
{
Task<What should happen here?> DecryptAsync(T request)
我有点探索协方差路线,但我不确定这是否就是答案。
答案 0 :(得分:4)
您可以指定多个泛型类型参数,例如:
public interface IBlueFinApiClient<TInput, TReturn>
{
Task<TReturn> DecryptAsync(TInput request);
}
或者,您可以将返回类型指定为通用方法:
public interface IBlueFinApiClient<TInput>
{
Task<TReturn> DecryptAsync<TReturn>(TInput request);
}