Sdílet prostřednictvím


Module.GetType Metoda

Definice

Vrátí zadaný typ.

Přetížení

GetType(String)

Vrátí zadaný typ při hledání s rozlišováním velkých a malých písmen.

GetType(String, Boolean)

Vrátí zadaný typ a prohledá modul se zadanou rozlišováním malých a velkých písmen.

GetType(String, Boolean, Boolean)

Vrátí zadaný typ, který určuje, zda se má modul prohledávat s rozlišováním velkých a malých písmen a zda se má vyvolat výjimka, pokud typ nelze najít.

GetType(String)

Zdroj:
Module.cs
Zdroj:
Module.cs
Zdroj:
Module.cs

Vrátí zadaný typ při hledání s rozlišováním velký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 najít. Název musí být plně kvalifikovaný pomocí oboru názvů .

Návraty

Objekt Type představující daný typ, pokud je typ 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 nulové délky.

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 pro reflexi a className vyžaduje závislé sestavení, které nebylo předem načteno.

className vyžaduje závislé sestavení, ale soubor není platným sestavením.

-nebo-

className vyžaduje závislé sestavení, které bylo zkompilováno pro verzi modulu runtime pozdější než 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 jinému 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 se nachází, je nutné volat Assembly.GetType.

Platí pro

GetType(String, Boolean)

Zdroj:
Module.cs
Zdroj:
Module.cs
Zdroj:
Module.cs

Vrátí zadaný typ a prohledá modul se zadanou rozlišováním malých a velký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 najít. Název musí být plně kvalifikovaný pomocí oboru názvů .

ignoreCase
Boolean

truepro hledání bez rozlišování 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; 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 nulové délky.

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 pro reflexi a className vyžaduje závislé sestavení, které nebylo předem načteno.

className vyžaduje závislé sestavení, ale soubor není platným sestavením.

-nebo-

className vyžaduje závislé sestavení, které bylo zkompilováno pro verzi modulu runtime pozdější než aktuálně načtená verze.

Příklady

Následující příklad zobrazí název typu v zadaném modulu, který false určuje parametr ignoreCase , aby se malá a velká písmena 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 jinému 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 se nachází, je nutné volat Assembly.GetType.

Platí pro

GetType(String, Boolean, Boolean)

Zdroj:
Module.cs
Zdroj:
Module.cs
Zdroj:
Module.cs

Vrátí zadaný typ, který určuje, zda se má modul prohledávat s rozlišováním velkých a malých písmen a zda se má vyvolat výjimka, pokud typ nelze najít.

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 najít. Název musí být plně kvalifikovaný pomocí oboru názvů .

throwOnError
Boolean

truevyvolá výjimku, pokud typ nelze najít; false a vrátí .null

ignoreCase
Boolean

truepro hledání bez rozlišování 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; nullv opačném případě .

Atributy

Výjimky

className je null.

Inicializátory třídy jsou vyvolány a je vyvolána výjimka.

className je řetězec nulové délky.

throwOnError je truea typ nebyl nalezen.

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 pro reflexi a className vyžaduje závislé sestavení, které nebylo předem načteno.

className vyžaduje závislé sestavení, ale soubor není platným sestavením.

-nebo-

className vyžaduje závislé sestavení, které bylo zkompilováno pro verzi modulu runtime pozdější než aktuálně načtená verze.

Příklady

Následující příklad zobrazí název typu v zadaném modulu. Parametry throwOnError a ignoreCase se zadají 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 jenom na to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolán. Zejména pokud je typ nalezen, ale nelze ho načíst, může být vyvolán i v případě, TypeLoadException že throwOnError je false.

Poznámka

Pokud byl typ předán jinému 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 se nachází, je nutné volat Assembly.GetType.

Platí pro