Reflexion bezieht sich auf die Bereitstellung von Objekten, die Assemblys, Module und Typen kapseln. Sie können durch Reflektion dynamisch Instanzen von Typen erstellen und Typen an vorhandene Objekte binden Laufzeit usw.
Der Hauptinhalt dieses Artikels besteht darin, Ihnen detailliert vorzustellen, was Reflexion in C# ist. Ich hoffe, dass er für alle hilfreich sein wird 🎜>
[Empfohlene Kurse:
C#-Tutorial]Was ist Reflexion
Reflexion bezieht sich auf die Bereitstellung von Objekten (Typtypen), die Baugruppen, Module und Typen kapseln. Sie können Reflektion verwenden, um dynamisch Instanzen eines Typs zu erstellen, den Typ an ein vorhandenes Objekt zu binden oder den Typ von einem vorhandenen Objekt abzurufen und dessen Methoden aufzurufen oder auf seine Felder und Eigenschaften zuzugreifen. Wenn in Ihrem Code Attribute verwendet werden, kann über Reflektion auf diese zugegriffen werden.
Reflection-NutzungsszenarienFunktionen, die Zugriff auf Programmmetadaten erfordern. Typen in einer Assembly prüfen und instanziieren.
Konstruieren Sie zur Laufzeit neue Typen.
Verwenden Sie Klassen von System.Reflection.Emit.
Führen Sie eine späte Bindung aus und greifen Sie auf Methoden zu, die zur Laufzeit erstellt wurden.
So verwenden Sie Reflektion, um Typen abzurufenEs gibt zwei Möglichkeiten, Typinformationen abzurufen Die eine besteht darin, das Instanzobjekt abzurufen, und die andere darin, das Instanzobjekt über die Methoden Type.GetType und Assembly.GetType abzurufen. Dieses Instanzobjekt kann durch einen Verweis auf ein Objekt oder einen Verweis auf eine Schnittstelle abgerufen werden Der genaue Typ ist nicht bekannt. Wenn Sie mehr wissen möchten, können Sie ihn abrufen, indem Sie die auf deklarierte Methode GetType aufrufen. In einer bestimmten Methode muss ich beispielsweise ermitteln, ob Der übergebene Parameter implementiert eine bestimmte Schnittstelle. Rufen Sie in diesem Fall eine Methode der Schnittstelle auf:
… public void Process( object processObj ){ Type t = processsObj.GetType(); if( t.GetInterface(“ITest”) !=null ) …}…
Type.GetType- und Assembly.GetType-Methoden
Eine andere Möglichkeit, die zu erhalten Der Typ erfolgt über die Methoden Type.GetType und Assembly.GetType, z. B.:
Type t = Type.GetType(“System.String”);
System.Object
deklariert, und das obige ist korrekt.
wird in
deklariert, dann kann nur eine Nullreferenz erhalten. mscorlib.dll
Also
Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein. System.String
Das obige ist der detaillierte Inhalt vonWas ist Reflexion in c#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!