Module.GetType 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.
Gibt den angegebenen Typ zurück.
Überlädt
| Name | Beschreibung |
|---|---|
| GetType(String) |
Gibt den angegebenen Typ zurück, bei dem bei der Suche nach Groß-/Kleinschreibung unterschieden wird. |
| GetType(String, Boolean) |
Gibt den angegebenen Typ zurück und durchsucht das Modul mit der angegebenen Groß-/Kleinschreibung. |
| GetType(String, Boolean, Boolean) |
Gibt den angegebenen Typ zurück, der angibt, ob die Groß-/Kleinschreibung des Moduls durchsucht werden soll und ob eine Ausnahme ausgelöst werden soll, wenn der Typ nicht gefunden werden kann. |
GetType(String)
Gibt den angegebenen Typ zurück, bei dem bei der Suche nach Groß-/Kleinschreibung unterschieden wird.
public:
virtual Type ^ GetType(System::String ^ className);
public virtual Type GetType(string className);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className);
override this.GetType : string -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string -> Type
Public Overridable Function GetType (className As String) As Type
Parameter
- className
- String
Der Name des zu suchenden Typs. Der Name muss mit dem Namespace vollständig qualifiziert sein.
Gibt zurück
Ein Type Objekt, das den angegebenen Typ darstellt, wenn sich der Typ in diesem Modul befindet; andernfalls . null
- Attribute
Ausnahmen
className ist null.
Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.
className ist eine leere Zeichenfolge.
className erfordert eine abhängige Assembly, die nicht gefunden werden konnte.
className erfordert eine abhängige Assembly, die gefunden wurde, aber nicht geladen werden konnte.
– oder –
Die aktuelle Assembly wurde in den Nur-Spiegelungskontext geladen und className erfordert eine abhängige Assembly, die nicht vorab geladen wurde.
className erfordert eine abhängige Assembly, die Datei ist jedoch keine gültige Assembly.
– oder –
className erfordert eine abhängige Assembly, die für eine Version der Laufzeit später als die aktuell geladene Version kompiliert wurde.
Beispiele
Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing these classes.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass");
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing these classes.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass")
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Hinweise
Note
Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er noch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter "Type Forwarding" in der Common Language Runtime.
Ein Typ kann mithilfe eines bestimmten Moduls Module.GetTypeabgerufen werden. Das Aufrufen Module.GetType des Moduls, das das Manifest enthält, durchsucht nicht die gesamte Assembly. Um einen Typ aus einer Assembly abzurufen, unabhängig davon, in welchem Modul es sich befindet, müssen Sie aufrufen Assembly.GetType.
Gilt für:
GetType(String, Boolean)
Gibt den angegebenen Typ zurück und durchsucht das Modul mit der angegebenen Groß-/Kleinschreibung.
public:
virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
public virtual Type GetType(string className, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool ignoreCase);
override this.GetType : string * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool -> Type
Public Overridable Function GetType (className As String, ignoreCase As Boolean) As Type
Parameter
- className
- String
Der Name des zu suchenden Typs. Der Name muss mit dem Namespace vollständig qualifiziert sein.
- ignoreCase
- Boolean
truebei der Suche ohne Groß-/Kleinschreibung; andernfalls . false
Gibt zurück
Ein Type Objekt, das den angegebenen Typ darstellt, wenn sich der Typ in diesem Modul befindet; andernfalls . null
- Attribute
Ausnahmen
className ist null.
Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.
className ist eine leere Zeichenfolge.
className erfordert eine abhängige Assembly, die nicht gefunden werden konnte.
className erfordert eine abhängige Assembly, die gefunden wurde, aber nicht geladen werden konnte.
– oder –
Die aktuelle Assembly wurde in den Nur-Spiegelungskontext geladen und className erfordert eine abhängige Assembly, die nicht vorab geladen wurde.
className erfordert eine abhängige Assembly, die Datei ist jedoch keine gültige Assembly.
– oder –
className erfordert eine abhängige Assembly, die für eine Version der Laufzeit später als die aktuell geladene Version kompiliert wurde.
Beispiele
Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt, der für den ignoreCase Parameter angibtfalse, sodass der Fall nicht ignoriert wird.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing these classes.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing these classes.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Hinweise
Note
Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er noch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter "Type Forwarding" in der Common Language Runtime.
Ein Typ kann mithilfe eines bestimmten Moduls Module.GetTypeabgerufen werden. Das Aufrufen Module.GetType des Moduls, das das Manifest enthält, durchsucht nicht die gesamte Assembly. Um einen Typ aus einer Assembly abzurufen, unabhängig davon, in welchem Modul es sich befindet, müssen Sie aufrufen Assembly.GetType.
Gilt für:
GetType(String, Boolean, Boolean)
Gibt den angegebenen Typ zurück, der angibt, ob die Groß-/Kleinschreibung des Moduls durchsucht werden soll und ob eine Ausnahme ausgelöst werden soll, wenn der Typ nicht gefunden werden kann.
public:
virtual Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType(string className, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
[<System.Runtime.InteropServices.ComVisible(true)>]
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (className As String, throwOnError As Boolean, ignoreCase As Boolean) As Type
Parameter
- className
- String
Der Name des zu suchenden Typs. Der Name muss mit dem Namespace vollständig qualifiziert sein.
- throwOnError
- Boolean
true um eine Ausnahme auszuwerfen, wenn der Typ nicht gefunden werden kann; false zurückzugeben null.
- ignoreCase
- Boolean
truebei der Suche ohne Groß-/Kleinschreibung; andernfalls . false
Gibt zurück
Ein Type Objekt, das den angegebenen Typ darstellt, wenn der Typ in diesem Modul deklariert wird; andernfalls null.
- Attribute
Ausnahmen
className ist null.
Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.
className ist eine leere Zeichenfolge.
throwOnError ist true, und der Typ kann nicht gefunden werden.
className erfordert eine abhängige Assembly, die nicht gefunden werden konnte.
className erfordert eine abhängige Assembly, die gefunden wurde, aber nicht geladen werden konnte.
– oder –
Die aktuelle Assembly wurde in den Nur-Spiegelungskontext geladen und className erfordert eine abhängige Assembly, die nicht vorab geladen wurde.
className erfordert eine abhängige Assembly, die Datei ist jedoch keine gültige Assembly.
– oder –
className erfordert eine abhängige Assembly, die für eine Version der Laufzeit später als die aktuell geladene Version kompiliert wurde.
Beispiele
Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt. Die Parameter und ignoreCase Parameter throwOnError werden als falseangegeben.
using System;
using System.Reflection;
namespace ReflectionModule_Examples
{
class MyMainClass
{
static void Main()
{
Module[] moduleArray;
moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
//In a simple project with only one module, the module at index
// 0 will be the module containing this class.
Module myModule = moduleArray[0];
Type myType;
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false, false);
Console.WriteLine("Got type: {0}", myType.ToString());
}
}
}
Imports System.Reflection
'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
Class MyMainClass
Shared Sub Main()
Dim moduleArray() As [Module]
moduleArray = GetType(MyMainClass).Assembly.GetModules(False)
'In a simple project with only one module, the module at index
' 0 will be the module containing this class.
Dim myModule As [Module] = moduleArray(0)
Dim myType As Type
myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False, False)
Console.WriteLine("Got type: {0}", myType.ToString())
End Sub
End Class
End Namespace 'ReflectionModule_Examples
Hinweise
Der throwOnError Parameter wirkt sich nur darauf aus, was passiert, wenn der Typ nicht gefunden wird. Es wirkt sich nicht auf andere Ausnahmen aus, die ausgelöst werden können. Insbesondere, wenn der Typ gefunden, aber nicht geladen werden kann, TypeLoadException kann auch bei Bedarf throwOnErrorfalseausgelöst werden.
Note
Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er noch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter "Type Forwarding" in der Common Language Runtime.
Ein Typ kann mithilfe eines bestimmten Moduls Module.GetTypeabgerufen werden. Das Aufrufen Module.GetType des Moduls, das das Manifest enthält, durchsucht nicht die gesamte Assembly. Um einen Typ aus einer Assembly abzurufen, unabhängig davon, in welchem Modul es sich befindet, müssen Sie aufrufen Assembly.GetType.