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

堆栈溢出

考虑下面的代码:

var list = new SomeServiceType
{
    Url = "htp://www.test.com/",
    Credentials = new NetworkCredential(UserName, Password)
};

这段代码已被重复多次,说了10次。因此,我决定使用一个通用函数,该函数在传递不同类型时会接受上述代码。

我需要获取UrlCredentials作为新创建函数的响应。

作为参考,SomeServiceType为ServiceNowType,UserName和Password为String。

我尝试过

public List<object>(....strucked here...)
{
  ...
  return ...//again strucked here....(neeed to return url and credentials)..
}

url为字符串类型,NetworkCredential为c#类

阿努布里耶·钱德拉(Anubrij chandra)

您可以使用反射和激活器创建方法,如下所示

 public T MyMethod<T>(string url, string userName, string userPassword) {
       var myService = Activator.CreateInstance(typeof(T));
      System.Reflection.PropertyInfo URL = myService.GetType().GetProperty("Url");
      System.Reflection.PropertyInfo NetworkCred = myService.GetType().GetProperty("Credentials");
      URL.SetValue(myService, url, null);
      NetworkCred.SetValue(myService, new System.Net.NetworkCredential(userName, userPassword), null);
      return (T)myService;
   }

呼叫为

var list =  MyMethod<SomeServiceType>(url,userName,userPassword);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

在PostgreSQL中,如何声明一个接受不同类型参数的可变参数函数?

来自分类Dev

如何创建一个以通用类型作为通用类型的通用类?

来自分类Dev

我可以使一个函数接受通用函数作为参数吗?

来自分类Dev

创建一个接受参数并传递变量的函数

来自分类Dev

如何使用不同的参数类型调用一个函数

来自分类Dev

如何创建一个返回通用协议类型的函数?

来自分类Dev

创建一个方法,该方法可以接受长度可变的具有不同类型的Function参数

来自分类Dev

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

来自分类Dev

如何让一个函数接受相同类型的函数?

来自分类Dev

如何用Java编写一个通用化以接收具有不同键类型的map参数的函数?

来自分类Dev

如何使用一个通用构造函数参数注册/解析类型

来自分类Dev

创建一个根据继承者采用不同参数的抽象函数

来自分类Dev

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

来自分类Dev

如何使一个函数接受另一个函数的值的参数?

来自分类Dev

从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

来自分类Dev

如何在Swift中创建一个通用函数,除非它是可选参数,否则它将拒绝给定参数?

来自分类Dev

创建一个模板函数,该函数根据模板参数类型的条件返回不同的元组类型

来自分类Dev

如何创建可应用于包含相同参数的两个一个或多个类型的泛型函数?

来自分类Dev

如何声明一个接受类型化数组参数的函数

来自分类Dev

如何采用任何构造函数类型并将其转换为接受相同参数的函数类型?

来自分类Dev

强制转换列表类型,以便一个函数可以接受更通用的列表类型

来自分类Dev

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

来自分类Dev

创建一个接受参数并传递变量的函数

来自分类Dev

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

来自分类Dev

如何创建一个接受输入参数的任务

来自分类Dev

如何使用一个通用构造函数参数注册/解析类型

来自分类Dev

如何创建一个接受带有特定参数作为参数的函数的函数?

来自分类Dev

实现一个接受两个不同类的参数的通用函数?

来自分类Dev

如何创建一个公开通用函数的 DLL?

Related 相关文章

  1. 1

    在PostgreSQL中,如何声明一个接受不同类型参数的可变参数函数?

  2. 2

    如何创建一个以通用类型作为通用类型的通用类?

  3. 3

    我可以使一个函数接受通用函数作为参数吗?

  4. 4

    创建一个接受参数并传递变量的函数

  5. 5

    如何使用不同的参数类型调用一个函数

  6. 6

    如何创建一个返回通用协议类型的函数?

  7. 7

    创建一个方法,该方法可以接受长度可变的具有不同类型的Function参数

  8. 8

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

  9. 9

    如何让一个函数接受相同类型的函数?

  10. 10

    如何用Java编写一个通用化以接收具有不同键类型的map参数的函数?

  11. 11

    如何使用一个通用构造函数参数注册/解析类型

  12. 12

    创建一个根据继承者采用不同参数的抽象函数

  13. 13

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

  14. 14

    如何使一个函数接受另一个函数的值的参数?

  15. 15

    从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

  16. 16

    如何在Swift中创建一个通用函数,除非它是可选参数,否则它将拒绝给定参数?

  17. 17

    创建一个模板函数,该函数根据模板参数类型的条件返回不同的元组类型

  18. 18

    如何创建可应用于包含相同参数的两个一个或多个类型的泛型函数?

  19. 19

    如何声明一个接受类型化数组参数的函数

  20. 20

    如何采用任何构造函数类型并将其转换为接受相同参数的函数类型?

  21. 21

    强制转换列表类型,以便一个函数可以接受更通用的列表类型

  22. 22

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

  23. 23

    创建一个接受参数并传递变量的函数

  24. 24

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

  25. 25

    如何创建一个接受输入参数的任务

  26. 26

    如何使用一个通用构造函数参数注册/解析类型

  27. 27

    如何创建一个接受带有特定参数作为参数的函数的函数?

  28. 28

    实现一个接受两个不同类的参数的通用函数?

  29. 29

    如何创建一个公开通用函数的 DLL?

热门标签

归档