【问题标题】:How to pass an Object type to Type parameter in C#如何在 C# 中将 Object 类型传递给 Type 参数
【发布时间】:2013-11-09 12:41:25
【问题描述】:

我有一个具有类型参数的函数。

public static object SetValuesToObject(Type tClass, DataRow dr)
{
   //
   .............
   //
   return object
} 

我不知道如何传递一个类作为这个函数的参数。 在这里我想传递参数类“产品”。

我试过了

 SetValuesToObject(Product,datarow);

但它不起作用。我怎么能这样做?

【问题讨论】:

    标签: c# methods types parameters


    【解决方案1】:

    typeof keyword 当您在编译时知道该类时。

    SetValuesToObject(typeof(Product),datarow);
    

    您还可以在编译时不知道其类型的实例上使用object.GetType()

    【讨论】:

    • 这救了我!您指出了编译时已知和未知的重要区别。 object.GetType() 是我需要的。
    【解决方案2】:

    你有几个选择:

    1. instance.GetType() :此方法(在 Object 中定义)将返回实例的类型。
    2. typeof(MyClass) :会给你一个类的类型。

    最后,如果您拥有该方法,您可以将其更改为使用泛型,并改为这样调用它

    SetValuesToObject<Product>(datarow)

    【讨论】:

      猜你喜欢
      • 2014-10-20
      • 1970-01-01
      • 2014-04-28
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      • 2018-10-30
      • 2022-11-23
      • 1970-01-01
      相关资源
      最近更新 更多