Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


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)

Źródło:
Module.cs
Źródło:
Module.cs
Źródło:
Module.cs

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

public virtual Type? GetType (string className);
public virtual Type GetType (string className);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType (string className);

Parametry

className
String

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

Zwraca

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 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());
        }
    }
}

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

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1

GetType(String, Boolean)

Źródło:
Module.cs
Źródło:
Module.cs
Źródło:
Module.cs

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

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);

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 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 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());
        }
    }
}

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

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.5, 1.6, 2.0, 2.1

GetType(String, Boolean, Boolean)

Źródło:
Module.cs
Źródło:
Module.cs
Źródło:
Module.cs

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 (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);

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

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 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());
        }
    }
}

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

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0