Module.GetType Metoda

Definice

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

Type

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

Type

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

Type

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 .

Platí pro