创建一个接受类型对象的通用方法并返回一个新的类型对象

穆罕默德·阿尔斯兰·贾姆沙伊德

我想使用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;
    }
}       
尤瓦尔·伊茨恰科夫(Yuval Itzchakov)

使用具有约束通用类型参数new()

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");
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通用构造函数接受类型T的类对象,并返回T,这次T是一个List

返回一个不知道类型的通用对象?

如何创建一个接受两个相同类型的对象,一个属性并比较值的方法

创建一个返回实现通用接口的对象的方法

调用超类型方法会创建一个新的超类型对象吗?

关系方法必须返回一个类型的对象

如何告诉 JSDoc 一个方法返回一个包含类类型的对象?

创建一个通用方法Print,它将接受所有类型的集合给它

为什么要创建一个方法类型对象,我想要一个类型列表对象

根据python中给定对象的类型创建一个新对象

创建一个通用方法而不丢失类型

创建一个ArrayList数组,用于存储通用类型的对象

从另一个对象类型创建一个对象

如何创建一个接受并返回任何类型的ObjectProperty <?>的方法?

提供错误对象的__new__方法。__new __()仅接受一个参数(实例化的类型)

打印一个充满新类型对象的数组列表

制作一个函数,它接受一个对象数组并根据条件返回一个新数组

如何用每个对象的类的返回类型声明一个类型间方法?

Swift2:返回一个可选的类型对象

Java:返回与一个JSON对象相同的类型值

创建一个接受对象但不接受数组的通用函数

如何创建一个数组类型的对象?

对一个id类型对象的responsToSelector

如何为返回类型为void的方法返回一个空的JSON对象?

期望创建一个新对象

Typescript接口类型映射到一个对象,该对象包含一个原始对象和一个从原始对象的字段构建的新对象

如何创建一个接受不同参数类型的通用函数

查找设置了一个param方法传递对象的类型

如何创建一个返回类型的类型,该类型接受该类型的字符串或字符串 [] 的路径?