如何使RestSharp返回我的自定义RestResponse

时间:2014-01-11 11:08:32

标签: c# restsharp

RestSharp项目中的标准RestClientExecute()方法,如下所示:

public virtual RestSharp.IRestResponse Execute(RestSharp.IRestRequest request)

只要我的请求实现了正确的接口,我就可以创建一个自定义请求类并将其提供给此方法。

public class MyRestRequest : IRestRequest
{
}

现在假设我想将MyRestRequest类型的请求映射到MyRestResponse类型的回复:

public class MyRestRequest : IRestResponse
{
}

我如何告诉客户端创建响应类的实例而不是默认的RestResponse?我是否可以在不必覆盖Execute()程序的情况下执行此操作?

修改

澄清:RestClient.Execute()被硬编码为始终返回RestResponse的实例。

来源(第64行):https://github.com/restsharp/RestSharp/blob/master/RestSharp/RestClient.Sync.cs

我已经在他们的Google Groups主板上发布了这个问题,但该项目对我来说几乎已经死了。

1 个答案:

答案 0 :(得分:0)

您应该能够将IRestReponse转换为MyRestRequest,例如:

MyRestResponse response = (MyRestResponse)client.Execute(request);