2013-10-30 6 views
5

型パラメーターを持つ関数があります。Object型をC#のTypeパラメーターに渡す方法

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

この関数のパラメータとしてクラスを渡す方法はわかりません。 ここでは、私はパルメータクラス "製品"を渡したいと思います。

私はこの

SetValuesToObject(Product,datarow); 

を試みたが、それは動作しません。どうすればいい?

答えて

6

typeof keywordコンパイル時にクラスを知っているとき。

SetValuesToObject(typeof(Product),datarow); 

また、あなたはコンパイル時に自分のタイプを知っていないインスタンスにobject.GetType()を使用することができます。

4

あなたは、いくつかのオプションがあります。

  1. instance.GetType():(オブジェクトで定義されている)このメソッドは、インスタンスのタイプを返します。
  2. typeof(MyClass):クラスのタイプを指定します。あなたがメソッドを所有している場合

最後に、あなたはジェネリックを使用するように変更し、この代わりに

SetValuesToObject<Product>(datarow)

ようにそれを呼び出すことができます
関連する問題