Module.GetType Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí zadaný typ.
Přetížení
GetType(String) |
Vrátí zadaný typ a provede hledání s rozlišování malých a malých písmen. |
GetType(String, Boolean) |
Vrátí zadaný typ a vyhledá v modulu rozlišování velkých a malých písmen. |
GetType(String, Boolean, Boolean) |
Vrátí zadaný typ určující, jestli se má modul prohledávat v rozlišování malých a malých písmen a jestli se má vyvolat výjimka, pokud se typ nenašel. |
GetType(String)
Vrátí zadaný typ a provede hledání s rozlišování malých a malých písmen.
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
Parametry
- className
- String
Název typu, který chcete vyhledat. Název musí být plně kvalifikovaný s oborem názvů .
Návraty
Objekt Type
představující daný typ, pokud je typ v tomto modulu, jinak null
.
- Atributy
Výjimky
className
je null
.
Inicializátory třídy jsou vyvolány a je vyvolána výjimka.
className
je řetězec s nulovou délkou.
className
vyžaduje závislé sestavení, které nebylo nalezeno.
className
vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.
-nebo-
Aktuální sestavení bylo načteno do kontextu pouze reflexe a vyžaduje závislé className
sestavení, které nebylo předem načteno.
className
vyžaduje závislé sestavení, ale soubor není platné sestavení.
-nebo-
className
vyžaduje závislé sestavení, které bylo zkompilované pro verzi modulu runtime později, než je aktuálně načtená verze.
Příklady
Následující příklad zobrazí název typu v zadaném modulu.
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
Poznámky
Poznámka
Pokud byl typ předán do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu CLR (Common Language Runtime).
Typ lze načíst z konkrétního modulu pomocí Module.GetType . Volání Module.GetType v modulu, který obsahuje manifest, nebude prohledávat celé sestavení. Chcete-li načíst typ ze sestavení, bez ohledu na to, ve kterém modulu je, je nutné volat Assembly.GetType .
Platí pro
GetType(String, Boolean)
Vrátí zadaný typ a vyhledá v modulu rozlišování velkých a malých písmen.
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
Parametry
- className
- String
Název typu, který chcete vyhledat. Název musí být plně kvalifikovaný s oborem názvů .
- ignoreCase
- Boolean
true
pro vyhledávání bez rozlišení velkých a malých písmen; v opačném případě false
.
Návraty
Objekt Type
představující daný typ, pokud je typ v tomto modulu, jinak null
.
- Atributy
Výjimky
className
je null
.
Inicializátory třídy jsou vyvolány a je vyvolána výjimka.
className
je řetězec s nulovou délkou.
className
vyžaduje závislé sestavení, které nebylo nalezeno.
className
vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.
-nebo-
Aktuální sestavení bylo načteno do kontextu pouze reflexe a vyžaduje závislé className
sestavení, které nebylo předem načteno.
className
vyžaduje závislé sestavení, ale soubor není platné sestavení.
-nebo-
className
vyžaduje závislé sestavení, které bylo zkompilované pro verzi modulu runtime později, než je aktuálně načtená verze.
Příklady
Následující příklad zobrazí název typu v zadaném modulu a zadá parametr , aby se velká a malá písmena false
ignoreCase
neignorovala.
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
Poznámky
Poznámka
Pokud byl typ předán do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu CLR (Common Language Runtime).
Typ lze načíst z konkrétního modulu pomocí Module.GetType . Volání Module.GetType v modulu, který obsahuje manifest, nebude prohledávat celé sestavení. Chcete-li načíst typ ze sestavení, bez ohledu na to, ve kterém modulu je, je nutné volat Assembly.GetType .
Platí pro
GetType(String, Boolean, Boolean)
Vrátí zadaný typ určující, jestli se má modul prohledávat v rozlišování malých a malých písmen a jestli se má vyvolat výjimka, pokud se typ nenašel.
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
Parametry
- className
- String
Název typu, který chcete vyhledat. Název musí být plně kvalifikovaný s oborem názvů .
- throwOnError
- Boolean
true
vyvolá výjimku, pokud se typ nenašel. false
a vrátí null
.
- ignoreCase
- Boolean
true
pro vyhledávání bez rozlišení velkých a malých písmen; v opačném případě false
.
Návraty
Objekt Type představující zadaný typ, pokud je typ deklarován v tomto modulu; v opačném případě null
.
- Atributy
Výjimky
className
je null
.
Inicializátory třídy jsou vyvolány a je vyvolána výjimka.
className
je řetězec s nulovou délkou.
throwOnError
je true
a typ se nenašel.
className
vyžaduje závislé sestavení, které nebylo nalezeno.
className
vyžaduje závislé sestavení, které bylo nalezeno, ale nebylo možné ho načíst.
-nebo-
Aktuální sestavení bylo načteno do kontextu pouze reflexe a vyžaduje závislé className
sestavení, které nebylo předem načteno.
className
vyžaduje závislé sestavení, ale soubor není platné sestavení.
-nebo-
className
vyžaduje závislé sestavení, které bylo zkompilováno pro verzi modulu runtime později, než je aktuálně načtená verze.
Příklady
Následující příklad zobrazí název typu v zadaném modulu. Parametry throwOnError
ignoreCase
a jsou zadány jako false
.
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
Poznámky
Parametr throwOnError
má vliv pouze na to, co se stane, když se typ nenašel. Nemá vliv na žádné jiné výjimky, které mohou být vyvolány. Konkrétně, pokud je typ nalezen, ale nelze jej načíst, TypeLoadException může být vyvolána i v throwOnError
případě, že je false
.
Poznámka
Pokud byl typ předán do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů najdete v tématu Předávání typů v modulu CLR (Common Language Runtime).
Typ lze načíst z konkrétního modulu pomocí Module.GetType . Volání Module.GetType v modulu, který obsahuje manifest, nebude prohledávat celé sestavení. Chcete-li načíst typ ze sestavení, bez ohledu na to, ve kterém modulu je, je nutné volat Assembly.GetType .