Поделиться через


Type.ReflectionOnlyGetType(String, Boolean, Boolean) Метод

Определение

Внимание!

ReflectionOnly loading is not supported and throws PlatformNotSupportedException.

Возвращает объект Type с заданным именем, позволяющий определить, будет ли учитываться регистр при поиске, и будет ли создаваться исключение в случае невозможности найти тип. Тип загружается не для выполнения, а только для отражения.

public:
 static Type ^ ReflectionOnlyGetType(System::String ^ typeName, bool throwIfNotFound, bool ignoreCase);
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
[System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static Type? ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
public static Type ReflectionOnlyGetType (string typeName, bool throwIfNotFound, bool ignoreCase);
static member ReflectionOnlyGetType : string * bool * bool -> Type
[<System.Obsolete("ReflectionOnly loading is not supported and throws PlatformNotSupportedException.", DiagnosticId="SYSLIB0018", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ReflectionOnlyGetType : string * bool * bool -> Type
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type

Параметры

typeName
String

Имя искомого типа Type с указанием сборки.

throwIfNotFound
Boolean

Значение true, чтобы в случае невозможности найти тип создавалось исключение TypeLoadException; значение false, чтобы при невозможности найти тип возвращалось значение null. Кроме того, при указании значения false подавляются некоторые другие условия возникновения исключений, но не все из них. См. раздел "Исключения".

ignoreCase
Boolean

Значение true, чтобы не учитывать регистр при поиске typeName, значение false, чтобы учитывать регистр при поиске typeName.

Возвращаемое значение

Тип с указанным именем, если он существует; в противном случае — значение null. Если тип не найден, параметр throwIfNotFound определяет дальнейшее действие — возврат значения null или создание исключения. В некоторых случаях исключение создается независимо от значения параметра throwIfNotFound. См. раздел "Исключения".

Атрибуты

Исключения

typeName имеет значение null.

Инициализатор класса вызывается и создает исключение.

throwIfNotFound имеет значение true, и тип не найден.

-или-

throwIfNotFound имеет значение true, и typeName содержит недопустимые знаки, например внедренные табуляции.

-или-

throwIfNotFound имеет значение true, и typeName является пустой строкой.

-или-

throwIfNotFound имеет значение true, и typeName представляет тип массива с недопустимым размером.

-или-

typeName представляет массив объектов TypedReference.

typeName не включает имя сборки.

-или-

throwIfNotFound имеет значение true, и typeName содержит недопустимый синтаксис (например, "MyType[,*,]").

-или-

typeName представляет универсальный тип, имеющий тип указателя, тип ByRef или Void в качестве одного из его аргументов типа.

-или-

typeName представляет универсальный тип, который содержит неправильное количество аргументов типа.

-или-

typeName представляет универсальный тип, и один из его аргументов типа не удовлетворяет ограничениям для соответствующего параметра типа.

throwIfNotFound имеет значение true, и не удалось найти сборку либо одну из ее зависимостей.

Сборка или одна из ее зависимостей найдена, но не может быть загружена.

Сборка или одна из ее зависимостей не являются допустимой сборкой для загруженной в данный момент среды выполнения.

Только .NET Core и .NET 5+: Во всех случаях.

Комментарии

Если сборка, содержащая тип, еще не загружена в контекст только для отражения, использование ReflectionOnlyGetType метода эквивалентно загрузке сборки только для отражения с помощью ReflectionOnlyLoad метода , а затем загрузке типа путем вызова метода сборки Assembly.GetType . Сведения об именах, с полными атрибутами сборки, см. в свойстве Type.AssemblyQualifiedName . Дополнительные сведения об указании имен типов см. в разделе Перегрузка GetType(String, Boolean, Boolean) метода.

Если сборка уже загружена для выполнения, в контекст только отражения загружается другая копия.

Параметр throwIfNotFound указывает, что происходит, если тип не найден, а также подавляет некоторые другие условия исключения, как описано в разделе Исключения. Некоторые исключения создаются независимо от значения throwIfNotFound. Например, если сборка недопустимая, создается исключение , BadImageFormatException даже если throwIfNotFound имеет значение false.

Дополнительные сведения об использовании контекста только для отражения см. в разделе Практическое руководство. Загрузка сборок в контекст Reflection-Only.

Применяется к

См. также раздел