我有一个看起来像这样的界面
public interface IBlueFinApiClient
{
Task<BlueFinApiResponse> DecryptAsync(BlueFinApiRequest request);
}
此方法在实现时,仅转到包含请求的终结点并提交。 我需要使用此端点发布另一个不同类型的请求,并且来自Task<>
的返回也将是不同类型的。因此,我正在尝试将其更改为泛型,但我坚持如何以泛型格式定义返回类型:
public interface IBlueFinApiClient<T> where T:class
{
Task<What should happen here?> DecryptAsync(T request)
我有点探索协方差路线,但我不确定这是否是这里的答案。
可以指定多个泛型类型参数,例如:
public interface IBlueFinApiClient<TInput, TReturn>
{
Task<TReturn> DecryptAsync(TInput request);
}
或者,可以将返回类型指定为泛型方法:
public interface IBlueFinApiClient<TInput>
{
Task<TReturn> DecryptAsync<TReturn>(TInput request);
}