다음을 통해 공유


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

정의

주의

ReflectionOnly loading is not supported and throws PlatformNotSupportedException.

대/소문자를 구분하여 검색할지 여부와 형식이 없으면 예외를 throw할지를 지정하여, 지정된 이름의 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 을 throw하려면 TypeLoadException 이고, 형식을 찾을 수 없는 경우 false 을 반환하려면 null 입니다. 또한 false 를 지정하면 다른 예외 조건 중 일부(모두 아님)가 표시되지 않습니다. 예외 섹션을 참조하세요.

ignoreCase
Boolean

true에 대해 대/소문자를 구분하지 않는 검색을 수행하려면 typeName이고, false에 대해 대/소문자를 구분하는 검색을 수행하려면 typeName입니다.

반환

지정된 이름의 형식이 있으면 이를 반환하고 그렇지 않으면 null을 반환합니다. 형식을 찾을 수 없는 경우에는 throwIfNotFound 매개 변수가 null을 반환할지 아니면 예외를 throw할지 지정합니다. 경우에 따라서는 throwIfNotFound 값과 상관없이 예외가 throw됩니다. 예외 섹션을 참조하세요.

특성

예외

typeName이(가) null인 경우

클래스 이니셜라이저가 호출되고 예외를 throw합니다.

throwIfNotFoundtrue 이고 형식을 찾을 수 없습니다.

또는

throwIfNotFoundtrue 이고 typeName 이 포함된 탭 등의 잘못된 문자를 포함합니다.

또는

throwIfNotFoundtrue 이고 typeName 이 빈 문자열입니다.

또는

throwIfNotFoundtrue 이고 typeName 이 잘못된 크기를 가진 배열 형식을 나타냅니다.

또는

typeNameTypedReference 개체의 배열을 나타냅니다.

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 형식을 찾을 수 없을 때 발생하는 상황을 지정하고 예외 섹션에 설명된 대로 다른 특정 예외 조건도 표시하지 않습니다. 값에 관계없이 일부 예외가 throwIfNotFoundthrow됩니다. 예를 들어 어셈블리가 유효하지 않으면 가 인 BadImageFormatException 경우에도 throwIfNotFound 이 throw됩니다 false.

리플렉션 전용 컨텍스트 사용에 대한 자세한 내용은 방법: Reflection-Only 컨텍스트에 어셈블리 로드를 참조하세요.

적용 대상

추가 정보