我有一个方法ServiceBase
的抽象基类Execute
:
protected virtual void Execute(RestRequest request, Action<IRestResponse> callback)
{
Client.ExecuteAsync(request, (response) => callback(response));
}
有一个继承自此抽象基类DataServiceBase
的类,它也是抽象的,并且还有一个方法Execute
但参数差别不大:
protected virtual void Execute(RestRequest request, Action<IRestResponse<Records>> callback)
{
Client.ExecuteAsync<Records>(request, (response) => callback(response));
}
继承自DataServiceBase
的最后一个类是GetDataByIdService
。这个类还有一个Execute
方法调用base Execute
:
public void Execute(string peid, Action<IRestResponse> callback)
{
var request = new RestRequest();
request.AddUrlSegment(Peid, peid);
Execute(request, callback);
}
问题如下:
Execute(request, callback);
从Execute
调用方法DataServiceBase
,但我希望从ServiceBase
类调用正确的方法。
用法示例:
public void CallbackFunction(IRestResponse response)
{ ... }
var service = new GetDataByIdService();
service.Execute("123456", CallbackFunction);