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);
[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);
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}")>]
static member ReflectionOnlyGetType : string * bool * bool -> Type
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Значение , чтобы null создать исключение, TypeLoadException если тип не удается найти. false Указание false также подавляет некоторые другие условия исключения, но не все из них. См. раздел "Исключения".
- ignoreCase
- Boolean
true для выполнения поиска без учета регистра typeName; false для выполнения поиска typeNameс учетом регистра.
Возвращаемое значение
Тип с указанным именем, если найден; nullв противном случае . Если тип не найден, параметр указывает, throwIfNotFound возвращается ли null возвращается или возникает исключение. В некоторых случаях исключение создается независимо от значения throwIfNotFound. См. раздел "Исключения".
- Атрибуты
Исключения
typeName равно null.
Инициализатор класса вызывается и вызывает исключение.
throwIfNotFound is true и тип не найден.
–или–
throwIfNotFound
typeName содержит true недопустимые символы, такие как внедренная вкладка.
–или–
throwIfNotFound имеет true значение и typeName является пустой строкой.
–или–
throwIfNotFound имеет true и typeName представляет тип массива с недопустимым размером.
–или–
typeName представляет массив TypedReference объектов.
typeName не включает имя сборки.
–или–
throwIfNotFound
typeName имеет true недопустимый синтаксис, например "MyType[,*,]".
–или–
typeName представляет универсальный тип, имеющий тип указателя, ByRef тип или Void один из его аргументов типа.
–или–
typeName представляет универсальный тип с неправильным числом аргументов типа.
–или–
typeName представляет универсальный тип, и один из его аргументов типа не удовлетворяет ограничениям для соответствующего параметра типа.
throwIfNotFound is true и сборка или одна из его зависимостей не найдена.
Сборка или одна из его зависимостей найдена, но не удалось загрузить.
Сборка или одна из его зависимостей не является допустимой сборкой для текущей загруженной среды выполнения.
Только .NET Core и .NET 5+ : во всех случаях.
Комментарии
Если сборка, содержащая тип, еще не загружена в контекст только для отражения, метод ReflectionOnlyGetType эквивалентен первой загрузке сборки только для отражения, используя ReflectionOnlyLoad метод, а затем загрузив тип путем вызова метода сборки Assembly.GetType . Сведения о именах, управляемых сборками, см. в свойстве Type.AssemblyQualifiedName . Дополнительные сведения об указании имен типов см. в перегрузке GetType(String, Boolean, Boolean) метода.
Если сборка уже загружена для выполнения, другая копия загружается в контекст только для отражения.
Параметр throwIfNotFound указывает, что происходит, когда тип не найден, а также подавляет некоторые другие условия исключения, как описано в разделе "Исключения". Некоторые исключения создаются независимо от значения throwIfNotFound. Например, если сборка недопустима, BadImageFormatException создается даже в том falseслучаеthrowIfNotFound.
Дополнительные сведения об использовании контекста только для отражения см. в разделе "Практическое руководство. Загрузка сборок в контекст Reflection-Only".