Module.GetType Metoda

Definicja

Zwraca określony typ.

Przeciążenia

GetType(String)

Zwraca określony typ, wykonując wyszukiwanie uwzględniające wielkość liter.

GetType(String, Boolean)

Zwraca określony typ, wyszukując moduł z określoną poufnością wielkości liter.

GetType(String, Boolean, Boolean)

Zwraca określony typ, określając, czy wyszukiwać wielkość liter modułu i czy zgłosić wyjątek, jeśli nie można odnaleźć typu.

GetType(String)

Zwraca określony typ, wykonując wyszukiwanie uwzględniające wielkość liter.

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

Nazwa typu do zlokalizowania. Nazwa musi być w pełni kwalifikowana z przestrzenią nazw.

Zwraca

Type

Type Obiekt reprezentujący dany typ, jeśli typ znajduje się w tym module; w przeciwnym razie null.

Atrybuty

Wyjątki

className to null.

Inicjatory klas są wywoływane i zgłaszany jest wyjątek.

className jest ciągiem o zerowej długości.

className wymaga zestawu zależnego, którego nie można odnaleźć.

className wymaga zestawu zależnego, który został znaleziony, ale nie można go załadować.

-lub- Bieżący zestaw został załadowany do kontekstu tylko odbicia i className wymaga zależnego zestawu, który nie został wstępnie załadowany.

className wymaga zestawu zależnego, ale plik nie jest prawidłowym zestawem.

-lub- className wymaga zestawu zależnego, który został skompilowany dla wersji środowiska uruchomieniowego nowszej niż obecnie załadowana wersja.

Przykłady

W poniższym przykładzie wyświetlana jest nazwa typu w określonym module.

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

Uwagi

Uwaga

Jeśli typ został przekazany do innego zestawu, nadal jest zwracany przez tę metodę. Aby uzyskać informacje na temat przekazywania typów, zobacz Przekazywanie typów w środowisku uruchomieniowym języka wspólnego.

Typ można pobrać z określonego modułu przy użyciu polecenia Module.GetType. Wywołanie Module.GetType w module zawierającym manifest nie będzie przeszukiwać całego zestawu. Aby pobrać typ z zestawu, niezależnie od modułu, w którym się znajduje, należy wywołać metodę Assembly.GetType.

Dotyczy

GetType(String, Boolean)

Zwraca określony typ, wyszukując moduł z określoną poufnością wielkości liter.

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

Nazwa typu do zlokalizowania. Nazwa musi być w pełni kwalifikowana z przestrzenią nazw.

ignoreCase
Boolean

true w przypadku wyszukiwania bez uwzględniania wielkości liter; w przeciwnym razie , false.

Zwraca

Type

Type Obiekt reprezentujący dany typ, jeśli typ znajduje się w tym module; w przeciwnym razie null.

Atrybuty

Wyjątki

className to null.

Inicjatory klas są wywoływane i zgłaszany jest wyjątek.

className jest ciągiem o zerowej długości.

className wymaga zestawu zależnego, którego nie można odnaleźć.

className wymaga zestawu zależnego, który został znaleziony, ale nie można go załadować.

-lub- Bieżący zestaw został załadowany do kontekstu tylko odbicia i className wymaga zależnego zestawu, który nie został wstępnie załadowany.

className wymaga zestawu zależnego, ale plik nie jest prawidłowym zestawem.

-lub- className wymaga zestawu zależnego, który został skompilowany dla wersji środowiska uruchomieniowego nowszej niż obecnie załadowana wersja.

Przykłady

W poniższym przykładzie wyświetlana jest nazwa typu w określonym module, określając false parametr ignoreCase , aby wielkość liter nie została zignorowana.

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

Uwagi

Uwaga

Jeśli typ został przekazany do innego zestawu, nadal jest zwracany przez tę metodę. Aby uzyskać informacje na temat przekazywania typów, zobacz Przekazywanie typów w środowisku uruchomieniowym języka wspólnego.

Typ można pobrać z określonego modułu przy użyciu polecenia Module.GetType. Wywołanie Module.GetType w module zawierającym manifest nie będzie przeszukiwać całego zestawu. Aby pobrać typ z zestawu, niezależnie od modułu, w którym się znajduje, należy wywołać metodę Assembly.GetType.

Dotyczy

GetType(String, Boolean, Boolean)

Zwraca określony typ, określając, czy wyszukiwać wielkość liter modułu i czy zgłosić wyjątek, jeśli nie można odnaleźć typu.

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

Nazwa typu do zlokalizowania. Nazwa musi być w pełni kwalifikowana z przestrzenią nazw.

throwOnError
Boolean

true zgłosić wyjątek, jeśli nie można odnaleźć typu; false , aby zwrócić wartość null.

ignoreCase
Boolean

true w przypadku wyszukiwania bez uwzględniania wielkości liter; w przeciwnym razie , false.

Zwraca

Type

Obiekt Type reprezentujący określony typ, jeśli typ jest zadeklarowany w tym module; w przeciwnym razie null.

Atrybuty

Wyjątki

className to null.

Inicjatory klas są wywoływane i zgłaszany jest wyjątek.

className jest ciągiem o zerowej długości.

throwOnError to true, a nie można odnaleźć typu .

className wymaga zestawu zależnego, którego nie można odnaleźć.

className wymaga zestawu zależnego, który został znaleziony, ale nie można go załadować.

-lub- Bieżący zestaw został załadowany do kontekstu tylko odbicia i className wymaga zależnego zestawu, który nie został wstępnie załadowany.

className wymaga zestawu zależnego, ale plik nie jest prawidłowym zestawem.

-lub- className wymaga zestawu zależnego, który został skompilowany dla wersji środowiska uruchomieniowego nowszej niż obecnie załadowana wersja.

Przykłady

W poniższym przykładzie wyświetlana jest nazwa typu w określonym module. Parametry throwOnError i ignoreCase są określane 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

Uwagi

Parametr throwOnError wpływa tylko na to, co się stanie, gdy typ nie zostanie znaleziony. Nie ma to wpływu na inne wyjątki, które mogą zostać zgłoszone. W szczególności, jeśli typ zostanie znaleziony, ale nie można go załadować, można zgłosić, TypeLoadException nawet jeśli throwOnError ma wartość false.

Uwaga

Jeśli typ został przekazany do innego zestawu, nadal jest zwracany przez tę metodę. Aby uzyskać informacje na temat przekazywania typów, zobacz Przekazywanie typów w środowisku uruchomieniowym języka wspólnego.

Typ można pobrać z określonego modułu przy użyciu polecenia Module.GetType. Wywołanie Module.GetType w module zawierającym manifest nie będzie przeszukiwać całego zestawu. Aby pobrać typ z zestawu, niezależnie od modułu, w którym się znajduje, należy wywołać metodę Assembly.GetType.

Dotyczy