我有一个这样的通用类
public class ApiResponse<TResult, TError>
{
public TResult Result { get; set; }
public TError Error { get; set; }
public string RawErrorContent {get; set;}
public string ReasonPhrase { get; set;}
}
并且该类被另一个非泛型类继承
public class FoobarApiAuthResponse : ApiResponse<FoobarAuthToken, string> { }
我希望下一个方法可以处理从 ApiResponse
public static async Task<TApiResponse>
ReadApiResultAsync<TApiResponse, TResult, TError>(this HttpResponseMessage response)
where TApiResponse : ApiResponse<TResult, TError>, new()
{ ... }
但我必须使用它指定所有泛型类型
tokenResponse.ReadApiResultAsync<FoobarApiAuthResponse, FoobarAuthToken, string>();
考虑到与 FoobarApiAuthResponse 一起使用哪个 TInput 和 TError 很明显,这看起来很麻烦
是否有一个具有相同敏捷性水平的解决方案可以像
一样使用tokenResponse.ReadApiResultAsync<FoobarApiAuthResponse>
?