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
Параметры
- 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.