Type.ReflectionOnlyGetType(String, Boolean, Boolean) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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
true
w celu przeprowadzenia wyszukiwania typeName
bez 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).