2013-10-30 9 views
5

Ho una funzione che ha Type Parameter.Come passare un tipo di oggetto al parametro Type in C#

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

Non ho idea di come passare una classe come parametro per questa funzione. Qui voglio passare il parmeter Class "Product".

Ho provato questo

SetValuesToObject(Product,datarow); 

Ma non funziona. Come potrei farlo?

risposta

6

Il typeof keyword quando si conosce la classe al momento della compilazione.

SetValuesToObject(typeof(Product),datarow); 

È inoltre possibile utilizzare object.GetType() su istanze che non si conosce il loro tipo in fase di compilazione.

4

avete alcune opzioni:

  1. instance.GetType(): questo metodo (definito in Object) restituirà il tipo di istanza.
  2. typeof(MyClass): fornirà il tipo per una classe.

Infine, se si possiede il metodo, si potrebbe cambiare per usare Generics, e chiamare in questo modo invece

SetValuesToObject<Product>(datarow)

Problemi correlati