Udostępnij za pośrednictwem


Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metoda

Definicja

Przestroga

ReflectionOnly loading is not supported and throws PlatformNotSupportedException.

Pobiera element Type z określoną nazwą, określając, czy należy przeprowadzić wyszukiwanie uwzględniające wielkość liter i czy zgłosić wyjątek, jeśli typ nie zostanie znaleziony. Typ jest ładowany tylko do odbicia, a nie do wykonywania.

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

Parametry

typeName
String

Kwalifikowana nazwa Type zestawu elementu do pobrania.

throwIfNotFound
Boolean

true , aby zgłosić TypeLoadException , jeśli nie można odnaleźć typu; false aby zwrócić null , jeśli nie można odnaleźć typu. Określenie false powoduje również pominięcie niektórych innych warunków wyjątku, ale nie wszystkich z nich. Zobacz sekcję Wyjątki.

ignoreCase
Boolean

truew celu przeprowadzenia wyszukiwania typeNamebez uwzględniania wielkości liter ; false w celu przeprowadzenia wyszukiwania uwzględniającego wielkość liter.typeName

Zwraca

Typ o określonej nazwie, jeśli zostanie znaleziony; w przeciwnym razie , null. Jeśli typ nie zostanie znaleziony, parametr określa, czy null jest zwracany, throwIfNotFound czy zgłaszany jest wyjątek. W niektórych przypadkach wyjątek jest zgłaszany niezależnie od wartości throwIfNotFound. Zobacz sekcję Wyjątki.

Atrybuty

Wyjątki

typeName to null.

Inicjator klasy jest wywoływany i zgłasza wyjątek.

throwIfNotFound jest true i nie można odnaleźć typu.

-lub-

throwIfNotFound jest true i typeName zawiera nieprawidłowe znaki, takie jak karta osadzona.

-lub-

throwIfNotFound to true i typeName jest pustym ciągiem.

-lub-

throwIfNotFound to true i typeName reprezentuje typ tablicy o nieprawidłowym rozmiarze.

-lub-

typeName reprezentuje tablicę TypedReference obiektów.

typeName nie zawiera nazwy zestawu.

-lub-

throwIfNotFound jest true i typeName zawiera nieprawidłową składnię, na przykład "MyType[,*,]".

-lub-

typeName reprezentuje typ ogólny, który ma typ wskaźnika, ByRef typ lub Void jako jeden z argumentów typu.

-lub-

typeName reprezentuje typ ogólny, który ma niepoprawną liczbę argumentów typu.

-lub-

typeName reprezentuje typ ogólny, a jeden z argumentów typu nie spełnia ograniczeń dla odpowiedniego parametru typu.

throwIfNotFound jest true i zestaw lub jeden z jego zależności nie został znaleziony.

Zestaw lub jeden z jego elementów zależnych został znaleziony, ale nie można go załadować.

Zestaw lub jedna z jego zależności nie jest prawidłowym zestawem dla aktualnie załadowanego środowiska uruchomieniowego.

Tylko platformy .NET Core i .NET 5+: we wszystkich przypadkach.

Uwagi

Jeśli zestaw zawierający typ nie został jeszcze załadowany do kontekstu tylko odbicia, użycie ReflectionOnlyGetType metody jest równoważne pierwszemu załadowaniu zestawu tylko do odbicia, przy użyciu ReflectionOnlyLoad metody , a następnie załadowanie typu przez wywołanie metody zestawu Assembly.GetType . Aby uzyskać informacje o nazwach kwalifikowanych do zestawu, zobacz Type.AssemblyQualifiedName właściwość . Aby uzyskać dodatkowe informacje na temat określania nazw typów, zobacz GetType(String, Boolean, Boolean) przeciążenie metody.

Jeśli zestaw jest już załadowany do wykonania, kolejna kopia jest ładowana do kontekstu tylko odbicia.

Parametr throwIfNotFound określa, co się stanie, gdy typ nie zostanie znaleziony, a także pomija niektóre inne warunki wyjątku, zgodnie z opisem w sekcji Wyjątki. Niektóre wyjątki są zgłaszane niezależnie od wartości throwIfNotFound. Jeśli na przykład zestaw jest nieprawidłowy, jest zgłaszany nawet wtedy, BadImageFormatException gdy throwIfNotFound element to false.

Aby uzyskać więcej informacji na temat korzystania z kontekstu tylko odbicia, zobacz How to: Load Assemblies into the Reflection-Only Context (Jak ładować zestawy do kontekstu Reflection-Only).

Dotyczy

Zobacz też