Type.ReflectionOnlyGetType(String, Boolean, Boolean) Methode

Definition

Achtung

ReflectionOnly loading is not supported and throws PlatformNotSupportedException.

Ruft den Type mit dem angegebenen Namen ab. Dabei wird angegeben, ob bei der Suche die Groß- und Kleinschreibung berücksichtigt werden soll und ob eine Ausnahme ausgelöst werden soll, wenn der Typ nicht gefunden wird. Der Typ wird für die Reflektion, nicht für Ausführung geladen.

public:
 static Type ^ ReflectionOnlyGetType(System::String ^ typeName, bool throwIfNotFound, bool ignoreCase);
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
static member ReflectionOnlyGetType : string * bool * bool -> Type
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyGetType : string * bool * bool -> Type
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type

Parameter

typeName
String

Der durch die Assembly bezeichnete Name des abzurufenden Type.

throwIfNotFound
Boolean

true, damit eine TypeLoadException ausgelöst wird, wenn der Typ nicht gefunden wird. false, damit null zurückgegeben wird, wenn der Typ nicht gefunden wird. Die Angabe von false unterdrückt auch einige andere Ausnahmebedingungen, aber nicht alle. Informationen finden Sie im Abschnitt für Ausnahmen.

ignoreCase
Boolean

true, um ohne Beachtung der Groß-/Kleinschreibung nach typeName zu suchen; false, um mit Beachtung der Groß-/Kleinschreibung nach typeName zu suchen.

Gibt zurück

Der Typ mit dem angegebenen Namen, sofern gefunden, andernfalls null. Wenn der Typ nicht gefunden wird, gibt der throwIfNotFound-Parameter an, ob null zurückgegeben oder eine Ausnahme ausgelöst wird. In einigen Fällen wird unabhängig vom Wert von throwIfNotFound eine Ausnahme ausgelöst. Informationen finden Sie im Abschnitt für Ausnahmen.

Attribute

Ausnahmen

typeName ist null.

Ein Klasseninitialisierer wird aufgerufen und löst eine Ausnahme aus.

throwIfNotFound ist true, und der Typ wurde nicht gefunden.

- oder -

throwIfNotFound ist true, und typeName enthält ungültige Zeichen, z. B. ein eingebettetes Tabstoppzeichen.

- oder -

throwIfNotFound ist true, und typeName ist eine leere Zeichenfolge.

- oder -

throwIfNotFound ist true, und typeName stellt einen Arraytyp mit einer ungültigen Größe dar.

- oder -

typeName stellt ein Array mit TypedReference-Objekten dar.

typeName enthält keinen Assemblynamen.

- oder -

throwIfNotFound ist true, und typeName enthält ungültige Syntax (z.B. „MyType[,*,]“).

- oder -

typeName stellt einen generischen Typ dar, der einen Zeigertyp, einen ByRef-Typ oder Void als eines seiner Typargumente aufweist.

- oder -

typeName stellt einen generischen Typ dar, der eine falsche Anzahl von Typargumenten aufweist.

- oder -

typeName stellt einen generischen Typ dar, und eines seiner Typargumente erfüllt nicht die Einschränkungen für den entsprechenden Typparameter.

throwIfNotFound ist true, und die Assembly oder eine der zugehörigen Abhängigkeiten wurde nicht gefunden.

Die Assembly oder eine der zugehörigen Abhängigkeiten wurde gefunden, konnte aber nicht geladen werden.

Die Assembly oder eine ihrer Abhängigkeiten ist keine gültige Assembly für die derzeit geladene Runtime.

Nur .NET Core und .NET 5 und höher: In allen Fällen.

Hinweise

Wenn die Assembly, die den Typ enthält, nicht bereits in den Kontext für reflektionsgeschützte Reflexion geladen wurde, entspricht die Verwendung der ReflectionOnlyGetType -Methode dem ersten Laden der Assembly nur für die Reflektion, wobei die ReflectionOnlyLoad -Methode verwendet wird, und dann das Laden des Typs Assembly.GetType durch Aufrufen der Methode der Assembly. Informationen zu assemblyqualifizierten Namen finden Sie in der Type.AssemblyQualifiedName -Eigenschaft. Weitere Details zum Angeben von Typnamen finden Sie in der GetType(String, Boolean, Boolean) Methodenüberladung.

Wenn die Assembly bereits für die Ausführung geladen wurde, wird eine weitere Kopie in den Kontext "Nur Reflexion" geladen.

Der throwIfNotFound Parameter gibt an, was geschieht, wenn der Typ nicht gefunden wird, und unterdrückt auch bestimmte andere Ausnahmebedingungen, wie im Abschnitt Ausnahmen beschrieben. Einige Ausnahmen werden unabhängig vom Wert von throwIfNotFoundausgelöst. Wenn die Assembly beispielsweise ungültig ist, wird ein BadImageFormatException ausgelöst, auch wenn throwIfNotFoundfalseist.

Weitere Informationen zur Verwendung des Reinreflektionskontexts finden Sie unter Vorgehensweise: Laden von Assemblys in den Reflection-Only Kontext.

Gilt für:

Weitere Informationen