2013-10-30 1 views
5

Ich habe eine Funktion, die Type Parameter hat.Wie übergebe ich einen Objekttyp an den Type-Parameter in C#

Ich habe keine Ahnung, wie man eine Klasse als Parameter für diese Funktion übergeben. Hier möchte ich die Parmeter Klasse "Product" übergeben.

ich versucht, dieses

SetValuesToObject(Product,datarow); 

Aber es funktioniert nicht. Wie könnte ich das tun?

Antwort

6

Die typeof keyword wenn Sie die Klasse zum Zeitpunkt der Kompilierung kennen.

SetValuesToObject(typeof(Product),datarow); 

Sie können auch object.GetType() auf Instanzen verwenden, die Sie nicht ihre Art zum Zeitpunkt der Kompilierung kennen.

4

Sie haben ein paar Optionen:

  1. instance.GetType(): Diese Methode (in Object definiert) wird der Instanz-Typ zurück.
  2. typeof(MyClass): gibt Ihnen den Typ für eine Klasse.

Schließlich, wenn Sie die Methode besitzen, können Sie es ändern Generics zu verwenden, und nennen Sie es wie diese statt

SetValuesToObject<Product>(datarow)