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 表示找不到類型時擲回 TypeLoadExceptionfalse 表示找不到類型時傳回 null 。 指定 false 也會隱藏其他某些例外狀況條件,但並不是全部。 請參閱<例外狀況>一節。

ignoreCase
Boolean

typeName 執行不區分大小寫的搜尋,則為 true;為 typeName 執行區分大小寫的搜尋,則為 false

傳回

具有指定名稱的類型 (如有找到),否則為 null。 如果找不到該類型,throwIfNotFound 參數會指定是要傳回 null 或是擲回例外狀況。 在某些情況下,不論 throwIfNotFound 的值為何,都會擲回例外狀況。 請參閱<例外狀況>一節。

屬性

例外狀況

typeNamenull

叫用類別初始設定式並擲回例外狀況。

throwIfNotFoundtrue ,而且找不到類型。

-或-

throwIfNotFoundtrue ,而且 typeName 包含無效字元,例如內嵌的定位字元。

-或-

throwIfNotFoundtrue ,而且 typeName 是空字串。

-或-

throwIfNotFoundtrue ,而且 typeName 代表大小無效的陣列類型。

-或-

typeName 代表 TypedReference 物件的陣列。

typeName 不包含組件名稱。

-或-

throwIfNotFoundtrue ,而且 typeName 包含無效語法 (例如 "MyType[,*,]")。

-或-

typeName 代表的泛型類型以指標類型、 ByRef 類型或 Void 做為其中一個類型引數。

-或-

typeName 代表的泛型類型具有不正確的類型引數數目。

-或-

typeName 代表泛型類型,其中一個類型引數不符合對應類型參數的條件約束。

throwIfNotFoundtrue,且找不到此組件或它的一個相依項目。

找到組件或其相依性的其中一個,但無法載入。

元件或其其中一個相依性不是目前載入運行時間的有效元件。

僅限 .NET Core 與 .NET 5+:在所有情況下。

備註

如果包含型別的元件尚未載入至僅限反映的內容中,則使用 ReflectionOnlyGetType 方法相當於先載入元件,以便只使用 ReflectionOnlyLoad 方法載入反映,然後再呼叫元件的 Assembly.GetType 方法載入類型。 如需元件限定名稱的相關信息,請參閱 Type.AssemblyQualifiedName 屬性。 如需指定類型名稱的其他詳細數據,請參閱 GetType(String, Boolean, Boolean) 方法多載。

如果元件已經載入執行,則會將另一個復本載入至僅限反映的內容。

參數 throwIfNotFound 會指定找不到類型時會發生什麼情況,也會隱藏某些其他例外狀況狀況,如例外狀況一節中所述。 不論的值 throwIfNotFound為何,都會擲回某些例外狀況。 例如,如果元件無效,即使 為 falseBadImageFormatException也會throwIfNotFound擲回 。

如需使用僅限反映內容的詳細資訊,請參閱 如何:將元件載入 Reflection-Only 內容

適用於

另請參閱