Type.ReflectionOnlyGetType(String, Boolean, Boolean) 메서드

정의

대/소문자를 구분하여 검색할지 여부와 형식이 없으면 예외를 throw할지를 지정하여, 지정된 이름의 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.

public:
 static Type ^ ReflectionOnlyGetType(System::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

매개 변수

typeName
String

가져올 Type의 어셈블리로 한정된 이름입니다.The assembly-qualified name of the Type to get.

throwIfNotFound
Boolean

형식을 찾을 없는 경우 true을 throw하려면 TypeLoadException이고, 형식을 찾을 수 없는 경우 false을 반환하려면 null입니다.true 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.

ignoreCase
Boolean

true에 대해 대/소문자를 구분하지 않는 검색을 수행하려면 typeName이고, false에 대해 대/소문자를 구분하는 검색을 수행하려면 typeName입니다.true to perform a case-insensitive search for typeName; false to perform a case-sensitive search for typeName.

반환

지정된 이름의 형식이 있으면 이를 반환하고 그렇지 않으면 null을 반환합니다.The type with the specified name, if found; otherwise, null. 형식을 찾을 수 없는 경우에는 throwIfNotFound 매개 변수가 null을 반환할지 아니면 예외를 throw할지 지정합니다.If the type is not found, the throwIfNotFound parameter specifies whether null is returned or an exception is thrown. 경우에 따라서는 throwIfNotFound 값과 상관없이 예외가 throw됩니다.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이 형식 인수 중 하나로 포인터 형식, 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이고 어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나를 찾을 수 없습니다.throwIfNotFound is true and the assembly or one of its dependencies was not found.

어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나를 찾았지만 로드할 수 없습니다.The assembly or one of its dependencies was found, but could not be loaded.

어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나가 올바르지 않습니다.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.GetType 메서드.If 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.AssemblyQualifiedName 속성입니다.For 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. 값에 관계 없이 일부 예외가 throw 됩니다 throwIfNotFound합니다.Some exceptions are thrown regardless of the value of throwIfNotFound. 예를 들어, 어셈블리 유효 하지 않은 경우는 BadImageFormatException 이 throw 경우에 throwIfNotFoundfalse합니다.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.

적용 대상

추가 정보