Class.ForName Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
ForName(String) |
Gibt das |
ForName(String, Boolean, ClassLoader) |
Gibt das |
ForName(String)
Gibt das Class
Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist.
[Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string className);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;)Ljava/lang/Class;", "")>]
static member ForName : string -> Java.Lang.Class
Parameter
- className
- String
der vollqualifizierte Name der gewünschten Klasse.
Gibt zurück
das Class
-Objekt für die -Klasse mit dem angegebenen Namen.
- Attribute
Ausnahmen
, wenn die angeforderte Klasse nicht gefunden werden kann.
wenn während der Verknüpfung ein Fehler auftritt
, wenn während der statischen Initialisierung einer Klasse eine Ausnahme auftritt.
Hinweise
Gibt das Class
Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Das Aufrufen dieser Methode entspricht folgendem:
<blockquote>Class.forName(className, true, currentLoader)
</blockquote>
wobei currentLoader
den definierenden Klassenladeer der aktuellen Klasse angibt.
Das folgende Codefragment gibt beispielsweise den Laufzeitdeskriptor Class
für die Klasse mit dem Namen zurück java.lang.Thread
:
<blockquote>Class t = Class.forName("java.lang.Thread")
</blockquote>
Ein Aufruf von forName("X")
bewirkt, dass die Klasse mit dem Namen X
initialisiert wird.
Java-Dokumentation für java.lang.Class.forName(java.lang.String)
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.
Gilt für:
ForName(String, Boolean, ClassLoader)
Gibt das Class
Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Dabei wird das angegebene Klassenladeprogramm verwendet.
[Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")]
public static Java.Lang.Class ForName (string name, bool initialize, Java.Lang.ClassLoader? loader);
[<Android.Runtime.Register("forName", "(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;", "")>]
static member ForName : string * bool * Java.Lang.ClassLoader -> Java.Lang.Class
Parameter
- name
- String
vollqualifizierter Name der gewünschten Klasse
- initialize
- Boolean
, wenn true
die -Klasse initialisiert wird.
Siehe Abschnitt 12.4 von <em>The Java Language Specification</em>.
- loader
- ClassLoader
Klassenladeprogramm, aus dem die Klasse geladen werden muss
Gibt zurück
Klassenobjekt, das die gewünschte Klasse darstellt
- Attribute
Ausnahmen
, wenn die angeforderte Klasse nicht gefunden werden kann.
wenn während der Verknüpfung ein Fehler auftritt
, wenn während der statischen Initialisierung einer Klasse eine Ausnahme auftritt.
Hinweise
Gibt das Class
Objekt zurück, das der Klasse oder Schnittstelle mit dem angegebenen Zeichenfolgennamen zugeordnet ist. Dabei wird das angegebene Klassenladeprogramm verwendet. Angesichts des vollqualifizierten Namens für eine Klasse oder Schnittstelle (in dem von zurückgegebenen getName
Format ) versucht diese Methode, die Klasse oder Schnittstelle zu suchen, zu laden und zu verknüpfen. Der angegebene Klassenladeprogramm wird verwendet, um die Klasse oder Schnittstelle zu laden. Wenn der Parameter loader
NULL ist, wird die -Klasse über das Bootstrap-Klassenladeprogramm geladen. Die -Klasse wird nur initialisiert, wenn der initialize
Parameter ist true
und nicht zuvor initialisiert wurde.
Wenn name
ein primitiver Typ oder void angegeben wird, wird versucht, eine benutzerdefinierte Klasse im unbenannten Paket zu suchen, deren Name lautet name
. Daher kann diese Methode nicht verwendet werden, um eines der Objekte abzurufen, die Class
primitive Typen oder void darstellen.
Wenn name
eine Arrayklasse angegeben wird, wird der Komponententyp der Arrayklasse geladen, aber nicht initialisiert.
In einer instance-Methode beispielsweise der Ausdruck:
<blockquote>Class.forName("Foo")
</blockquote>
entspricht:
<blockquote>Class.forName("Foo", true, this.getClass().getClassLoader())
</blockquote>
Beachten Sie, dass diese Methode Fehler im Zusammenhang mit dem Laden, Verknüpfen oder Initialisieren auslöst, wie in den Abschnitten 12.2, 12.3 und 12.4 der <>Java-Sprachspezifikation</em> angegeben. Beachten Sie, dass diese Methode nicht überprüft, ob der Aufrufer auf die angeforderte Klasse zugreifen kann.
In Version 1.2 hinzugefügt.
Java-Dokumentation für java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader)
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.