정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Module.GetType 메서드 (String, Boolean, Boolean)

2013-12-13

모듈을 검색할 때 대/소문자를 구분할지 여부와 형식을 찾을 수 없을 때 예외를 발생할지 여부를 지정하여 지정된 형식을 반환합니다.

Namespace:  System.Reflection
어셈블리:  mscorlib(mscorlib.dll)

public virtual Type GetType(
	string className,
	bool throwOnError,
	bool ignoreCase
)

매개 변수

className
형식: System.String
찾을 형식의 이름입니다. 이름은 네임스페이스를 사용하여 정규화되어야 합니다.
throwOnError
형식: System.Boolean
형식을 찾을 수 없는 경우 예외를 발생하려면 true이고, null을 반환하려면 false입니다.
ignoreCase
형식: System.Boolean
대/소문자를 구분하지 않고 검색하려면 true이고, 그렇지 않으면 false입니다.

반환 값

형식: System.Type
지정된 형식이 이 모듈에 선언되어 있으면 해당 형식이고, 그렇지 않으면 null입니다.

예외조건
ArgumentNullException

classNamenull인 경우

TargetInvocationException

클래스 이니셜라이저가 호출되고 예외가 발생되는 경우

ArgumentException

className이 길이가 0인 문자열인 경우

TypeLoadException

throwOnErrortrue이고 형식을 찾을 수 없는 경우

FileNotFoundException

className에 찾을 수 없는 종속 어셈블리가 필요한 경우

FileLoadException

className에 찾았지만 로드할 수 없는 종속 어셈블리가 필요한 경우

-또는-

현재 어셈블리를 리플렉션 전용 컨텍스트로 로드했으며 className에 미리 로드되지 않은 종속 어셈블리가 필요한 경우

BadImageFormatException

className에 종속 어셈블리가 필요하지만 해당 파일이 올바른 어셈블리가 아닌 경우

-또는-

className에 현재 로드된 버전보다 높은 버전의 런타임용으로 컴파일된 종속 어셈블리가 필요한 경우

throwOnError 매개 변수는 형식을 찾을 수 없는 경우의 결과에만 영향을 줍니다. 발생할 수 있는 다른 예외에는 영향을 주지 않습니다. 특히 형식이 있지만 로드할 수 없는 경우에는 throwOnErrorfalse이더라도 TypeLoadException이 발생할 수 없습니다.

참고참고:

다른 어셈블리에 형식이 전달된 경우에도 이 메서드에서 형식을 반환합니다.

형식은 Module.GetType을 사용하여 특정 모듈에서 검색할 수 있습니다. 매니페스트가 포함된 모듈에서 Module.GetType을 호출하면 전체 어셈블리가 검색되지 않습니다. 모듈에 관계없이 형식을 어셈블리에서 검색하려면 Assembly.GetType을 호출해야 합니다.

버전 메모

Windows Phone

 GetType은 빈 문자열이 className으로 전달될 때 ArgumentException을 발생시키지 않습니다. 대신 null을 반환합니다.

다음 예제에서는 현재 실행 중인 모듈에 없는 형식을 가져오려고 시도합니다. 이 경우 throwOnError 매개 변수가 true이므로 예외가 발생합니다.

참고참고:

이 예제를 실행하려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


using System;
using System.Reflection;

class Example
{
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Module[] moduleArray;

        moduleArray = Assembly.GetExecutingAssembly().GetModules();

        Module myModule = moduleArray[0];

        Type myType;

        try
        {
            myType = myModule.GetType("UnknownType", true, false);
            outputBlock.Text += String.Format("Found type: {0}\n", myType.ToString());
        }
        catch (Exception ex)
        {
            outputBlock.Text += String.Format("Caught {0}: {1}\n", 
                                              ex.GetType().Name, 
                                              ex.Message);
        }
    }
}

/* This example produces output similar to the following:

Caught TypeLoadException: Could not load type 'UnknownType' from assembly 'SilverlightApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.
 */


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

표시: