Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Type.GetType-Methode: (String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Ruft den Typ mit dem angegebenen Namen ab. Dabei wird angegeben, ob eine Ausnahme ausgelöst werden soll, wenn der Typ nicht gefunden wird, und optional werden benutzerdefinierte Methoden bereitgestellt, um die Assembly und den Typ aufzulösen.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static Type GetType(
	string typeName,
	Func<AssemblyName, Assembly> assemblyResolver,
	Func<Assembly, string, bool, Type> typeResolver,
	bool throwOnError
)

Parameter

typeName
Type: System.String

Der Name des abzurufenden Typs. Wenn der typeResolver-Parameter bereitgestellt wird, kann der Typname jede Zeichenfolge sein, die vom typeResolver aufgelöst werden kann. Wenn der assemblyResolver-Parameter bereitgestellt wird oder wenn die Standardtypauflösung verwendet wird, muss der typeName ein durch die Assembly qualifizierter Name (siehe AssemblyQualifiedName) sein, es sei denn, der Typ befindet sich in der gerade ausgeführten Assembly oder in der Datei Mscorlib.dll. In diesem Fall genügt es, den von seinem Namespace qualifizierten Typnamen anzugeben.

assemblyResolver
Type: System.Func<AssemblyName, Assembly>

Eine Methode, die die Assembly sucht und zurückgibt, die in typeName angegeben wird. Der Assemblyname wird an den assemblyResolver als ein AssemblyName-Objekt übergeben. Wenn typeName keinen Namen einer Assembly enthält, wird der assemblyResolver nicht aufgerufen. Wenn der assemblyResolver nicht angegeben wird, wird die Standardassemblyauflösung ausgeführt.

Vorsicht   Übergeben Sie keine Methoden von unbekannten oder nicht vertrauenswürdigen Aufrufern. Andernfalls könnten Berechtigungen für bösartigen Code erweitert werden. Verwenden Sie nur Methoden, die Sie bereitstellen oder mit denen Sie vertraut sind.

typeResolver
Type: System.Func<Assembly, String, Boolean, Type>

Eine Methode, die den Typ sucht und zurückgibt, der von typeName von der Assembly angegeben wird, die vom assemblyResolver oder von der Standardassemblyauflösung zurückgegeben wird. Wenn keine Assembly bereitgestellt wird, kann die Methode eine Assembly zur Verfügung stellen. Die Methode nimmt auch einen Parameter an, der angibt, ob bei der Suche die Groß- und Kleinschreibung berücksichtigt werden soll; an diesen Parameter wird false übergeben.

Vorsicht   Übergeben Sie keine Methoden von unbekannten oder nicht vertrauenswürdigen Aufrufern.

throwOnError
Type: System.Boolean

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

Rückgabewert

Type: System.Type

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

Exception Condition
ArgumentNullException

typeName ist null.

TargetInvocationException

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

TypeLoadException

throwOnError ist true, und der Typ wurde nicht gefunden.

- oder -

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

- oder -

throwOnError ist true, und typeName ist eine leere Zeichenfolge.

- oder -

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

- oder -

typeName stellt ein Array von TypedReference dar.

ArgumentException

Ein Fehler tritt auf, wenn typeName in einen Typnamen und einen Assemblynamen zerlegt wird (wenn z. B. der einfache Typname ein Sonderzeichen ohne Escapezeichen enthält).

- oder -

throwOnError 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.

FileNotFoundException

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

- oder -

typeName enthält einen ungültigen Assemblynamen.

- oder -

typeName ist ein gültiger Assemblyname ohne Typnamen.

FileLoadException

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

BadImageFormatException

Die Assembly oder eine der zugehörigen Abhängigkeiten ist ungültig.

- oder -

Die Assembly wurde mit einer Version der Common Language Runtime kompiliert, die höher ist als die Version, die derzeit geladen ist.

Szenarios für die Verwendung dieser Methode und die Details zu den assemblyResolver und typeResolver Parameter finden Sie in der GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) eine Überladung.

Aufrufen der Überladung dieser Methode entspricht dem Aufrufen der GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) Überladung und Angeben von false für die ignoreCase Parameter.

.NET Framework
Verfügbar seit 4.0
Zurück zum Anfang
Anzeigen: