[英]Creating a Generic Method for Accepting Type Object and return a new Object of Type
我想使用RestSharp為我的服務請求和響應創建一個通用方法。 我想傳遞任何類的資源URL和對象名稱,並希望獲得我傳遞的相同對象類型的響應。
我沒有找到運行此代碼的方法,我知道它不是完美的方式,但如果有人指示我糾正路徑,我會很高興,例如
class Employee
{
Employee em = new Employee();
RequestClass CreateRequest = new Request();
public Employee GetAllEmployee()
{
return RequestClass.MyRequest("http://get-all-employee",em);
}
}
class RequestClass
{
public Type MyRequest(string resource, Type objectName)
{
var client = new RestClient("http://Service-url.com");
var request = new RestRequest(resource, Method.GET);
var response = client.Execute(request);
var result = response.Content;
Type ClassName = objectName.GetType();
Object myobject = Activator.CreateInstance(ClassName);
JsonDeserializer jsonDeserializer = new JsonDeserializer();
myobject = jsonDeserializer.Deserialize<Type ClassName>(response);
return (Type)myobject;
}
}
public T MyRequest<T>(string resource) where T : new()
{
var client = new RestClient("http://Service-url.com");
var request = new RestRequest(resource, Method.GET);
var response = client.Execute(request);
JsonDeserializer jsonDeserializer = new JsonDeserializer();
return jsonDeserializer.Deserialize<T>(response);
}
然后像這樣使用它:
public Employee GetAllEmployee()
{
var requestClass = new RequestClass();
return requestClass.MyRequest<Employee>("http://get-all-employee");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.