Sdílet prostřednictvím


Module.GetType Metoda

Definice

Vrátí zadaný typ.

Přetížení

GetType(String)

Vrátí zadaný typ, který provádí vyhledává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 citlivostí malých a malých písmen.

GetType(String, Boolean, Boolean)

Vrátí zadaný typ, který určuje, zda se má modul vyhledat s rozlišováním malých a malých písmen a zda se má vyvolat výjimka, pokud typ nebyl nalezen.

GetType(String)

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

Vrátí zadaný typ, který provádí vyhledává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 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 nulové délky.

className vyžaduje závislé sestavení, které nebylo nalezeno.

className vyžaduje závislé sestavení, které bylo nalezeno, ale nelze načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze reflexe 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ěji 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 do jiného sestavení, je stále vrácen touto metodou. Informace o předávání typů naleznete v tématu Předávání typů v modulu 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 modul, ve kterém je, musíte 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 citlivostí malý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šování malých a velkých písmen; jinak 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 nulové délky.

className vyžaduje závislé sestavení, které nebylo nalezeno.

className vyžaduje závislé sestavení, které bylo nalezeno, ale nelze načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze reflexe 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ěji než aktuálně načtená verze.

Příklady

V následujícím příkladu se zobrazí název typu v zadaném modulu, který určuje false pro parametr ignoreCase, aby případ nebyl ignorován.

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ů naleznete v tématu Předávání typů v modulu 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 modul, ve kterém je, musíte 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 vyhledat s rozlišováním malých a malých písmen a zda se má vyvolat výjimka, pokud typ nebyl nalezen.

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ání výjimky, pokud typ nebyl nalezen; false vrátit null.

ignoreCase
Boolean

true pro vyhledávání bez rozlišování malých a velkých písmen; jinak false.

Návraty

Type objekt představující zadaný typ, pokud je typ deklarován 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 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 nelze načíst.

-nebo-

Aktuální sestavení bylo načteno do kontextu pouze reflexe 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ěji 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 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 ovlivňuje pouze to, co se stane, když se typ nenajde. Nemá vliv na žádné další výjimky, které by mohly být vyvolány. Konkrétně pokud je typ nalezen, ale nelze jej načíst, TypeLoadException může být vyvolán, i když je throwOnErrorfalse.

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ů naleznete v tématu Předávání typů v modulu 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 modul, ve kterém je, musíte volat Assembly.GetType.

Platí pro