Module.GetType Methode

Definition

Gibt den angegebenen Typ zurück.

Überlädt

GetType(String)

Gibt den angegebenen Typ zurück. Bei der Suche wird die Groß-/Kleinschreibung beachtet.

GetType(String, Boolean)

Durchsucht das Modul mit der angegebenen Groß-/Kleinschreibung und gibt den angegebenen Typ zurück.

GetType(String, Boolean, Boolean)

Gibt den angegebenen Typ zurück, wobei angegeben wird, ob bei der Suche im Modul die Groß- und Kleinschreibung berücksichtigt wird, und ob eine Ausnahme ausgelöst werden soll, wenn der Typ nicht gefunden werden kann.

GetType(String)

Gibt den angegebenen Typ zurück. Bei der Suche wird die Groß-/Kleinschreibung beachtet.

public:
 virtual Type ^ GetType(System::String ^ className);
public virtual Type? GetType (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 im Namespace vollqualifiziert sein.

Gibt zurück

Type

Ein Type-Objekt, das den angegebenen Typ darstellt, wenn der Typ sich in diesem Modul befindet; andernfalls null.

Attribute

Ausnahmen

className ist null.

Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.

className ist eine Zeichenfolge der Länge 0 (null).

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 reflektionsbezogenen Kontext 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 kompiliert wurde, die höher als die derzeit geladene Version ist.

Beispiele

Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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

Hinweis

Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er dennoch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter Typweiterleitung in der Common Language Runtime.

Ein Typ kann mithilfe von aus einem bestimmten Modul abgerufen Module.GetType werden. Wenn Module.GetType Sie für das Modul aufrufen, das das Manifest enthält, wird nicht die gesamte Assembly durchsucht. Um einen Typ aus einer Assembly abzurufen, müssen Sie unabhängig davon, in welchem Modul er sich befindet, Assembly.GetType aufrufen.

Gilt für

GetType(String, Boolean)

Durchsucht das Modul mit der angegebenen Groß-/Kleinschreibung und gibt den angegebenen Typ zurück.

public:
 virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
public virtual Type? GetType (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 im Namespace vollqualifiziert sein.

ignoreCase
Boolean

true für die Suche ohne Beachtung der Groß-/Kleinschreibung; andernfalls false.

Gibt zurück

Type

Ein Type-Objekt, das den angegebenen Typ darstellt, wenn der Typ sich in diesem Modul befindet; andernfalls null.

Attribute

Ausnahmen

className ist null.

Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.

className ist eine Zeichenfolge der Länge 0 (null).

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 reflektionsbezogenen Kontext 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 kompiliert wurde, die höher als die derzeit geladene Version ist.

Beispiele

Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt, und für den Parameter wird angegeben, dass der Fall false ignoreCase nicht ignoriert wird.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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

Hinweis

Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er dennoch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter Typweiterleitung in der Common Language Runtime.

Ein Typ kann mithilfe von aus einem bestimmten Modul abgerufen Module.GetType werden. Wenn Module.GetType Sie für das Modul aufrufen, das das Manifest enthält, wird nicht die gesamte Assembly durchsucht. Um einen Typ aus einer Assembly abzurufen, müssen Sie unabhängig davon, in welchem Modul er sich befindet, Assembly.GetType aufrufen.

Gilt für

GetType(String, Boolean, Boolean)

Gibt den angegebenen Typ zurück, wobei angegeben wird, ob bei der Suche im Modul die Groß- und Kleinschreibung berücksichtigt wird, 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);
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 im Namespace vollqualifiziert sein.

throwOnError
Boolean

true , damit eine Ausnahme ausgelöst wird, wenn der Typ nicht gefunden werden kann, false , damit nullzurückgegeben wird.

ignoreCase
Boolean

true für die Suche ohne Beachtung der Groß-/Kleinschreibung; andernfalls false.

Gibt zurück

Type

Ein Type-Objekt, das den angegebenen Typ darstellt, wenn der Typ in diesem Modul deklariert ist, andernfalls null.

Attribute

Ausnahmen

className ist null.

Die Klasseninitialisierer werden aufgerufen, und eine Ausnahme wird ausgelöst.

className ist eine Zeichenfolge der Länge 0 (null).

throwOnError ist true, und der Typ wurde nicht gefunden.

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 reflektionsbezogenen Kontext 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 kompiliert wurde, die höher als die derzeit geladene Version ist.

Beispiele

Im folgenden Beispiel wird der Name eines Typs im angegebenen Modul angezeigt. Die throwOnError Parameter und werden als ignoreCase false angegeben.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->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 );
}
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 geschieht, wenn der Typ nicht gefunden wird. Dies wirkt sich nicht auf andere Ausnahmen aus, die möglicherweise ausgelöst werden. Insbesondere kann ausgelöst werden, wenn der Typ gefunden, aber nicht geladen werden kann, TypeLoadException auch wenn throwOnError false ist.

Hinweis

Wenn der Typ an eine andere Assembly weitergeleitet wurde, wird er dennoch von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter Typweiterleitung in der Common Language Runtime.

Ein Typ kann mithilfe von aus einem bestimmten Modul abgerufen Module.GetType werden. Wenn Module.GetType Sie für das Modul aufrufen, das das Manifest enthält, wird nicht die gesamte Assembly durchsucht. Um einen Typ aus einer Assembly abzurufen, müssen Sie unabhängig davon, in welchem Modul er sich befindet, Assembly.GetType aufrufen.

Gilt für