Type.ReflectionOnlyGetType(String, Boolean, Boolean) メソッド


大文字と小文字を区別する検索を実行し、型が見つからない場合に例外をスローするかどうかを指定して、指定した名前の Type を取得します。Gets the Type with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found. 型は実行ではなくリフレクションのためだけに読み込まれます。The type is loaded for reflection only, not for execution.

 static Type ^ ReflectionOnlyGetType(System::String ^ typeName, bool throwIfNotFound, bool ignoreCase);
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
Public Shared Function ReflectionOnlyGetType (typeName As String, throwIfNotFound As Boolean, ignoreCase As Boolean) As Type



取得する Type のアセンブリ修飾名。The assembly-qualified name of the Type to get.


型が見つからない場合にtrue をスローするには TypeLoadException 。型が見つからない場合に false を返すには nulltrue to throw a TypeLoadException if the type cannot be found; false to return null if the type cannot be found. また、 false を指定すると、一部の例外条件は抑制されますが、すべての例外が抑制されるわけではありません。Specifying false also suppresses some other exception conditions, but not all of them. 「例外」セクションを参照してください。See the Exceptions section.


大文字と小文字を区別せずに typeName の検索を実行するには true。大文字と小文字を区別して typeName の検索を実行するには falsetrue to perform a case-insensitive search for typeName; false to perform a case-sensitive search for typeName.



存在する場合は、指定した名前を持つ型。それ以外の場合は nullThe type with the specified name, if found; otherwise, null. 型が見つからない場合、throwIfNotFound パラメーターで null を返すか例外をスローするかを指定します。If the type is not found, the throwIfNotFound parameter specifies whether null is returned or an exception is thrown. 一部の場合は、throwIfNotFound の値に関係なく、例外がスローされます。In some cases, an exception is thrown regardless of the value of throwIfNotFound. 「例外」を参照してください。See the Exceptions section.


typeNamenullです。typeName is null.

クラス初期化子が呼び出され、例外をスローします。A class initializer is invoked and throws an exception.

throwIfNotFoundtrue です。型が見つかりません。throwIfNotFound is true and the type is not found.

- または --or- throwIfNotFoundtrue です。 typeName に埋め込まれたタブなどの正しくない文字が含まれています。throwIfNotFound is true and typeName contains invalid characters, such as an embedded tab. - または --or- throwIfNotFoundtrue です。 typeName は空の文字列です。throwIfNotFound is true and typeName is an empty string.

- または --or- throwIfNotFoundtrue です。 typeName は無効なサイズの配列型を表します。throwIfNotFound is true and typeName represents an array type with an invalid size.

- または --or- typeNameTypedReference オブジェクトの配列を表しています。typeName represents an array of TypedReference objects.

typeName にはアセンブリ名は含まれません。typeName does not include the assembly name.

- または --or- throwIfNotFoundtrue です。 typeName に正しくない構文 ("MyType[,*,]" など) が含まれています。throwIfNotFound is true and typeName contains invalid syntax; for example, "MyType[,*,]".

- または --or- typeName が、型引数の 1 つとしてポインター型、 ByRef 型、または Void を持つジェネリック型を表しています。typeName represents a generic type that has a pointer type, a ByRef type, or Void as one of its type arguments.

- または --or- typeName は型引数の数が正しくないジェネリック型を表します。typeName represents a generic type that has an incorrect number of type arguments.

- または --or- typeName がジェネリック型を表し、型引数のいずれかが、対応する型パラメーターの制約を満たしていません。typeName represents a generic type, and one of its type arguments does not satisfy the constraints for the corresponding type parameter.

throwIfNotFoundtrue です。アセンブリ、またはその依存関係のうちの 1 つが見つかりませんでした。throwIfNotFound is true and the assembly or one of its dependencies was not found.

アセンブリまたはその依存関係のうちの 1 つが見つかりましたが、読み込むことができませんでした。The assembly or one of its dependencies was found, but could not be loaded.

アセンブリまたはその依存関係のうちの 1 つが正しくありません。The assembly or one of its dependencies is not valid.

- または --or-

現在読み込まれているバージョンよりも新しいバージョンの共通言語ランタイムで、アセンブリがコンパイルされました。The assembly was compiled with a later version of the common language runtime than the version that is currently loaded.

.NET Core のみ: このメンバーはサポートされていません。.NET Core only: This member is not supported.


型を含むアセンブリがリフレクションのみのコンテキストにまだ読み込まれていない場合は、メソッドを使用して、 ReflectionOnlyGetType 最初にリフレクションのためにアセンブリを読み込んでから、メソッドを使用して、 ReflectionOnlyLoad アセンブリのメソッドを呼び出すことによって型を読み込むことと同じです Assembly.GetTypeIf the assembly containing the type is not already loaded into the reflection-only context, using the ReflectionOnlyGetType method is equivalent to first loading the assembly for reflection only, using the ReflectionOnlyLoad method, and then loading the type by calling the assembly's Assembly.GetType method. アセンブリ修飾名の詳細については、プロパティを参照してください Type.AssemblyQualifiedNameFor information about assembly-qualified names, see the Type.AssemblyQualifiedName property. 型名の指定の詳細については、メソッドのオーバーロードに関する説明を参照してください GetType(String, Boolean, Boolean)For additional details on specifying type names, see the GetType(String, Boolean, Boolean) method overload.

アセンブリが実行のために既に読み込まれている場合は、別のコピーがリフレクションのみのコンテキストに読み込まれます。If the assembly is already loaded for execution, another copy is loaded into the reflection-only context.

パラメーターは、 throwIfNotFound 型が見つからない場合の動作を指定します。また、「例外」セクションで説明されているように、他の特定の例外条件も抑制します。The throwIfNotFound parameter specifies what happens when the type is not found, and also suppresses certain other exception conditions, as described in the Exceptions section. の値に関係なく、いくつかの例外がスローされ throwIfNotFound ます。Some exceptions are thrown regardless of the value of throwIfNotFound. たとえば、アセンブリが有効でない場合は、 BadImageFormatException がの場合でも、がスローされ throwIfNotFound false ます。For example, if the assembly is not valid, a BadImageFormatException is thrown even if throwIfNotFound is false.

リフレクションのみのコンテキストの使用方法の詳細については、「 方法: リフレクションのみのコンテキストにアセンブリを読み込む」を参照してください。For more information about using the reflection-only context, see How to: Load Assemblies into the Reflection-Only Context.