Type.ReflectionOnlyGetType(String, Boolean, Boolean) 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.
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
- 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 throwIfNotFound
ausgelöst. Wenn die Assembly beispielsweise ungültig ist, wird ein BadImageFormatException ausgelöst, auch wenn throwIfNotFound
false
ist.
Weitere Informationen zur Verwendung des Reinreflektionskontexts finden Sie unter Vorgehensweise: Laden von Assemblys in den Reflection-Only Kontext.
Gilt für:
Weitere Informationen
- String
- TypeLoadException
- AssemblyQualifiedName
- GetAssembly(Type)
- GetType(String)
- AssemblyName
- Specifying Fully Qualified Type Names (Angeben vollqualifizierter Typnamen)
- How to: Load Assemblies into the Reflection-Only Context (Gewusst wie: Laden von Assemblys in den auf Reflektion beschränkten Kontext)