Type.ReflectionOnlyGetType(String, Boolean, Boolean) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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
為 typeName 執行不區分大小寫的搜尋,則為 true;為 typeName 執行區分大小寫的搜尋,則為 false。
傳回
具有指定名稱的類型 (如有找到),否則為 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為何,都會擲回某些例外狀況。 例如,如果元件無效,即使 為 false,BadImageFormatException也會throwIfNotFound擲回 。
如需使用僅限反映內容的詳細資訊,請參閱 如何:將元件載入 Reflection-Only 內容。