Module.GetType Methode

Definition

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.

Gilt für: