이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Type.GetType 메서드 (String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean)

.NET Framework (current version)
 

게시 날짜: 2016년 11월

형식을 찾을 수 없는 경우 예외를 throw할지를 지정하고 어셈블리 및 형식을 확인할 수 있는 사용자 지정 메서드를 선택적으로 제공하여, 지정된 이름의 형식을 가져옵니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

public static Type GetType(
	string typeName,
	Func<AssemblyName, Assembly> assemblyResolver,
	Func<Assembly, string, bool, Type> typeResolver,
	bool throwOnError
)

매개 변수

typeName
Type: System.String

가져올 형식의 이름입니다. typeResolver 매개 변수가 제공되는 경우 형식 이름은 typeResolver에서 확인 가능한 임의의 문자열일 수 있습니다. assemblyResolver 매개 변수가 제공되거나 표준 형식 확인이 사용되는 경우 형식이 현재 실행 중인 어셈블리나 Mscorlib.dll에 있지 않으면 typeName은 어셈블리로 한정된 이름이어야 합니다(AssemblyQualifiedName 참조). 형식이 현재 실행 중인 어셈블리나 Mscorlib.dll에 있는 경우에는 네임스페이스로 한정된 형식 이름을 제공해도 충분합니다.

assemblyResolver
Type: System.Func<AssemblyName, Assembly>

typeName에 지정된 어셈블리를 찾고 반환하는 메서드입니다. 어셈블리 이름이 assemblyResolverAssemblyName 개체로 전달됩니다. typeName에 어셈블리의 이름이 포함되어 있지 않으면 assemblyResolver가 호출되지 않습니다. assemblyResolver가 제공되지 않으면 표준 어셈블리 확인이 수행됩니다.

주의   알 수 없거나 신뢰할 수 없는 호출자의 메서드는 전달하지 마십시오. 그렇게 하면 권한이 상승되어 악성 코드가 실행될 수 있습니다. 제공하는 메서드 또는 친숙한 메서드만 사용합니다.

typeResolver
Type: System.Func<Assembly, String, Boolean, Type>

typeName 또는 표준 어셈블리 확인에서 반환된 어셈블리에서 assemblyResolver에 지정된 형식을 찾고 반환하는 메서드입니다. 어셈블리가 제공되지 않는 경우 이 메서드에서 어셈블리를 제공할 수 있습니다. 이 메서드는 또한 대/소문자를 구분하지 않는 검색을 수행할지를 지정하는 매개 변수를 사용하며, 해당 매개 변수에 false가 전달됩니다.

주의   알 수 없거나 신뢰할 수 없는 호출자의 메서드는 전달하지 마십시오.

throwOnError
Type: System.Boolean

형식을 찾을 수 없는 경우 예외를 throw하려면 true이고, false을 반환하려면 null입니다. 또한 false를 지정하면 다른 예외 조건 중 일부(모두 아님)가 표시되지 않습니다. 예외 섹션을 참조하세요.

반환 값

Type: System.Type

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

Exception Condition
ArgumentNullException

typeNamenull인 경우

TargetInvocationException

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

TypeLoadException

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

또는

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

또는

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

또는

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

또는

typeNameTypedReference 배열을 나타냅니다.

ArgumentException

typeName이 형식 이름 및 어셈블리 이름으로 구문 분석되면 오류가 발생합니다(예: 단순 형식 이름에 이스케이프되지 않은 특수 문자가 포함된 경우).

또는

throwOnErrortrue이고 typeName이 잘못된 구문(예: "MyType[,*,]")을 포함합니다.

또는

typeName이 형식 인수 중 하나로 포인터 형식, ByRef 형식 또는 Void를 가진 제네릭 형식을 나타냅니다.

또는

typeName은 형식 인수의 개수가 잘못된 제네릭 형식을 나타냅니다.

또는

typeName은 제네릭 형식을 나타내며 그 형식 인수 중 하나가 해당 형식 매개 변수에 대한 제약 조건을 충족하지 않습니다.

FileNotFoundException

throwOnErrortrue이고 어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나를 찾을 수 없습니다.

또는

typeName이 잘못된 어셈블리 이름을 포함합니다.

또는

typeName이 형식 이름이 없는 올바른 어셈블리 이름입니다.

FileLoadException

어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나를 찾았지만 로드할 수 없습니다.

BadImageFormatException

어셈블리 또는 여기에 종속되어 있는 어셈블리 중 하나가 올바르지 않습니다.

또는

어셈블리가 현재 로드된 버전보다 이후 버전의 공용 언어 런타임으로 컴파일되었습니다.

이 메서드와 대 한 세부 정보에 대 한 사용 시나리오는 assemblyResolvertypeResolver 에서 매개 변수를 찾을 수는 GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) 메서드 오버 로드 합니다.

이 메서드 오버 로드는이 GetType(String, Func<AssemblyName, Assembly>, Func<Assembly, String, Boolean, Type>, Boolean, Boolean) 메서드 오버 로드를 지정 하 고 false 에 대 한는 ignoreCase 매개 변수입니다.

.NET Framework
4.0 이후 사용 가능
맨 위로 이동
표시: