Module.GetType Methode

Definitie

Retourneert het opgegeven type.

Overloads

Name Description
GetType(String)

Retourneert het opgegeven type, waarmee een hoofdlettergevoelige zoekopdracht wordt uitgevoerd.

GetType(String, Boolean)

Retourneert het opgegeven type en doorzoekt de module met de opgegeven hoofdlettergevoeligheid.

GetType(String, Boolean, Boolean)

Retourneert het opgegeven type, waarbij wordt opgegeven of een hoofdlettergevoelige zoekopdracht van de module moet worden uitgevoerd en of er een uitzondering moet worden gegenereerd als het type niet kan worden gevonden.

GetType(String)

Retourneert het opgegeven type, waarmee een hoofdlettergevoelige zoekopdracht wordt uitgevoerd.

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

Parameters

className
String

De naam van het type dat u wilt zoeken. De naam moet volledig zijn gekwalificeerd met de naamruimte.

Retouren

Een Type object dat het opgegeven type vertegenwoordigt, als het type zich in deze module bevindt; nullanders.

Kenmerken

Uitzonderingen

className is null.

De klasse-initializers worden aangeroepen en er wordt een uitzondering gegenereerd.

className is een tekenreeks met lengte nul.

className vereist een afhankelijke assembly die niet kan worden gevonden.

className vereist een afhankelijke assembly die is gevonden, maar niet kan worden geladen.

– of –

De huidige assembly is geladen in de context alleen voor weerspiegeling en className vereist een afhankelijke assembly die niet vooraf is geladen.

className vereist een afhankelijke assembly, maar het bestand is geen geldige assembly.

– of –

className vereist een afhankelijke assembly die is gecompileerd voor een versie van de runtime die later is dan de momenteel geladen versie.

Voorbeelden

In het volgende voorbeeld wordt de naam van een type in de opgegeven module weergegeven.

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

Opmerkingen

Note

Als het type is doorgestuurd naar een andere assembly, wordt het nog steeds geretourneerd door deze methode. Zie Type Forwarding in common Language Runtime voor meer informatie over het doorsturen van typen.

Een type kan worden opgehaald uit een specifieke module met behulp van Module.GetType. Als u de module met het manifest aanroept Module.GetType , wordt de hele assembly niet doorzocht. Als u een type wilt ophalen uit een assembly, ongeacht de module waarin het zich bevindt, moet u aanroepen Assembly.GetType.

Van toepassing op

GetType(String, Boolean)

Retourneert het opgegeven type en doorzoekt de module met de opgegeven hoofdlettergevoeligheid.

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

Parameters

className
String

De naam van het type dat u wilt zoeken. De naam moet volledig zijn gekwalificeerd met de naamruimte.

ignoreCase
Boolean

true voor niet-hoofdlettergevoelige zoekopdrachten; anders, false.

Retouren

Een Type object dat het opgegeven type vertegenwoordigt, als het type zich in deze module bevindt; nullanders.

Kenmerken

Uitzonderingen

className is null.

De klasse-initializers worden aangeroepen en er wordt een uitzondering gegenereerd.

className is een tekenreeks met lengte nul.

className vereist een afhankelijke assembly die niet kan worden gevonden.

className vereist een afhankelijke assembly die is gevonden, maar niet kan worden geladen.

– of –

De huidige assembly is geladen in de context alleen voor weerspiegeling en className vereist een afhankelijke assembly die niet vooraf is geladen.

className vereist een afhankelijke assembly, maar het bestand is geen geldige assembly.

– of –

className vereist een afhankelijke assembly die is gecompileerd voor een versie van de runtime die later is dan de momenteel geladen versie.

Voorbeelden

In het volgende voorbeeld wordt de naam van een type in de opgegeven module weergegeven, waarbij de ignoreCase parameter wordt opgegevenfalse, zodat dat geval niet wordt genegeerd.

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

Opmerkingen

Note

Als het type is doorgestuurd naar een andere assembly, wordt het nog steeds geretourneerd door deze methode. Zie Type Forwarding in common Language Runtime voor meer informatie over het doorsturen van typen.

Een type kan worden opgehaald uit een specifieke module met behulp van Module.GetType. Als u de module met het manifest aanroept Module.GetType , wordt de hele assembly niet doorzocht. Als u een type wilt ophalen uit een assembly, ongeacht de module waarin het zich bevindt, moet u aanroepen Assembly.GetType.

Van toepassing op

GetType(String, Boolean, Boolean)

Retourneert het opgegeven type, waarbij wordt opgegeven of een hoofdlettergevoelige zoekopdracht van de module moet worden uitgevoerd en of er een uitzondering moet worden gegenereerd als het type niet kan worden gevonden.

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

Parameters

className
String

De naam van het type dat u wilt zoeken. De naam moet volledig zijn gekwalificeerd met de naamruimte.

throwOnError
Boolean

true om een uitzondering te genereren als het type niet kan worden gevonden; false om terug te keren null.

ignoreCase
Boolean

true voor niet-hoofdlettergevoelige zoekopdrachten; anders, false.

Retouren

Een Type object dat het opgegeven type vertegenwoordigt, als het type in deze module wordt gedeclareerd; nullanders.

Kenmerken

Uitzonderingen

className is null.

De klasse-initializers worden aangeroepen en er wordt een uitzondering gegenereerd.

className is een tekenreeks met lengte nul.

throwOnError is trueen het type kan niet worden gevonden.

className vereist een afhankelijke assembly die niet kan worden gevonden.

className vereist een afhankelijke assembly die is gevonden, maar niet kan worden geladen.

– of –

De huidige assembly is geladen in de context alleen voor weerspiegeling en className vereist een afhankelijke assembly die niet vooraf is geladen.

className vereist een afhankelijke assembly, maar het bestand is geen geldige assembly.

– of –

className vereist een afhankelijke assembly die is gecompileerd voor een versie van de runtime die later is dan de momenteel geladen versie.

Voorbeelden

In het volgende voorbeeld wordt de naam van een type in de opgegeven module weergegeven. De throwOnError en ignoreCase parameters worden opgegeven als false.

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

Opmerkingen

De throwOnError parameter is alleen van invloed op wat er gebeurt wanneer het type niet wordt gevonden. Dit heeft geen invloed op andere uitzonderingen die kunnen worden gegenereerd. In het bijzonder, als het type wordt gevonden maar niet kan worden geladen, kan worden gegenereerd, TypeLoadException zelfs als throwOnError dat het is false.

Note

Als het type is doorgestuurd naar een andere assembly, wordt het nog steeds geretourneerd door deze methode. Zie Type Forwarding in common Language Runtime voor meer informatie over het doorsturen van typen.

Een type kan worden opgehaald uit een specifieke module met behulp van Module.GetType. Als u de module met het manifest aanroept Module.GetType , wordt de hele assembly niet doorzocht. Als u een type wilt ophalen uit een assembly, ongeacht de module waarin het zich bevindt, moet u aanroepen Assembly.GetType.

Van toepassing op