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 內容。