Module.GetType Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.