Freigeben über


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)

Quelle:
Module.cs
Quelle:
Module.cs
Quelle:
Module.cs

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

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 weiterhin von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter Typweiterleitung in der Common Language Runtime.

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

Gilt für:

GetType(String, Boolean)

Quelle:
Module.cs
Quelle:
Module.cs
Quelle:
Module.cs

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

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, wobei für den ignoreCase Parameter angegeben false wird, damit die Groß- und Kleinschreibung 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 weiterhin von dieser Methode zurückgegeben. Informationen zur Typweiterleitung finden Sie unter Typweiterleitung in der Common Language Runtime.

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

Gilt für:

GetType(String, Boolean, Boolean)

Quelle:
Module.cs
Quelle:
Module.cs
Quelle:
Module.cs

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

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 ignoreCase werden als falseangegeben.

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, wenn der Typ gefunden, aber nicht geladen werden kann, kann auch dann ausgelöst werden, TypeLoadException wenn throwOnError ist false.

Hinweis

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

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

Gilt für: