Module.GetType 메서드

정의

지정된 형식을 반환합니다.Returns the specified type.

오버로드

GetType(String)

대/소문자 구분을 수행하여 지정된 형식을 반환합니다.Returns the specified type, performing a case-sensitive search.

GetType(String, Boolean)

지정된 형식을 반환하고 지정된 대/소문자를 사용하여 모듈을 검색합니다.Returns the specified type, searching the module with the specified case sensitivity.

GetType(String, Boolean, Boolean)

모듈을 검색할 때 대/소문자를 구분할지 여부와 형식을 찾을 수 없을 때 예외를 throw할지 여부를 지정하여 지정된 형식을 반환합니다.Returns the specified type, specifying whether to make a case-sensitive search of the module and whether to throw an exception if the type cannot be found.

GetType(String)

대/소문자 구분을 수행하여 지정된 형식을 반환합니다.Returns the specified type, performing a case-sensitive search.

public:
 virtual Type ^ GetType(System::String ^ className);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType (string className);
override this.GetType : string -> Type
Public Overridable Function GetType (className As String) As Type

매개 변수

className
String

찾을 형식의 이름입니다.The name of the type to locate. 이름은 네임스페이스를 포함하는 정규화된 이름이어야 합니다.The name must be fully qualified with the namespace.

반환

형식이 이 모듈에 있으면 지정된 형식을 나타내는 Type 개체이고, 그렇지 않으면 null입니다.A Type object representing the given type, if the type is in this module; otherwise, null.

특성

예외

classNamenull인 경우className is null.

클래스 이니셜라이저가 호출되고 예외를 throw되는 경우The class initializers are invoked and an exception is thrown.

className이 길이가 0인 문자열인 경우className is a zero-length string.

className에 종속 어셈블리가 필요하지만 이 어셈블리를 찾을 수 없습니다.className requires a dependent assembly that could not be found.

className에 종속 어셈블리가 필요하며 이 어셈블리를 찾았지만 로드할 수 없습니다.className requires a dependent assembly that was found but could not be loaded.

또는-or- 현재 어셈블리가 리플렉션 전용 컨텍스트에 로드되었으며 className에 종속 어셈블리가 필요하지만 이 어셈블리가 미리 로드되지 않았습니다.The current assembly was loaded into the reflection-only context, and className requires a dependent assembly that was not preloaded.

className에 종속 어셈블리가 필요하지만 파일이 유효한 어셈블리가 아닙니다.className requires a dependent assembly, but the file is not a valid assembly.

또는-or- className에 현재 로드된 버전보다 높은 런타임 버전용으로 컴파일된 종속 어셈블리가 필요합니다.className requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version.

예제

다음 예제에서는 지정된 된 모듈의 형식 이름을 표시합니다.The following example displays the name of a type in the specified module.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->Assembly->GetModules( false );
   
   //In a simple project with only one module, the module at index
   // 0 will be the module containing these classes.
   Module^ myModule = moduleArray[ 0 ];
   Type^ myType;
   myType = myModule->GetType( "ReflectionModule_Examples.MyMainClass" );
   Console::WriteLine( "Got type: {0}", myType );
}

using System;
using System.Reflection;

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            
            //In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];

            Type myType;

            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass");
            Console.WriteLine("Got type: {0}", myType.ToString());
        }
    }
}
Imports System.Reflection

'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
    Class MyMainClass
        Shared Sub Main()
            Dim moduleArray() As [Module]

            moduleArray = GetType(MyMainClass).Assembly.GetModules(False)

            'In a simple project with only one module, the module at index
            ' 0 will be the module containing these classes.
            Dim myModule As [Module] = moduleArray(0)

            Dim myType As Type

            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass")
            Console.WriteLine("Got type: {0}", myType.ToString())
        End Sub
    End Class
End Namespace 'ReflectionModule_Examples

설명

참고

형식을 다른 어셈블리로 전달 되었습니다, 하는 경우 여전히이 메서드에서 반환 됩니다.If the type has been forwarded to another assembly, it is still returned by this method. 형식 전달에 대 한 내용은 참조 하세요 공용 언어 런타임의 형식 전달합니다.For information on type forwarding, see Type Forwarding in the Common Language Runtime.

형식을 사용 하 여 특정 모듈에서 검색할 수 있습니다 Module.GetType합니다.A type can be retrieved from a specific module using Module.GetType. 호출 Module.GetType 매니페스트가 포함 된 모듈에 전체 어셈블리를 검색 하지 것입니다.Calling Module.GetType on the module that contains the manifest will not search the entire assembly. 에서는 이기는 모듈에 관계 없이 어셈블리에서 형식을 검색 하려면 Assembly.GetType합니다.To retrieve a type from an assembly, regardless of which module it is in, you must call Assembly.GetType.

GetType(String, Boolean)

지정된 형식을 반환하고 지정된 대/소문자를 사용하여 모듈을 검색합니다.Returns the specified type, searching the module with the specified case sensitivity.

public:
 virtual Type ^ GetType(System::String ^ className, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType (string className, bool ignoreCase);
override this.GetType : string * bool -> Type
Public Overridable Function GetType (className As String, ignoreCase As Boolean) As Type

매개 변수

className
String

찾을 형식의 이름입니다.The name of the type to locate. 이름은 네임스페이스를 포함하는 정규화된 이름이어야 합니다.The name must be fully qualified with the namespace.

ignoreCase
Boolean

대/소문자를 구분하지 않는 검색의 경우는 true이고 대/소문자를 구분하는 검색의 경우는 false입니다.true for case-insensitive search; otherwise, false.

반환

형식이 이 모듈에 있으면 지정된 형식을 나타내는 Type 개체이고, 그렇지 않으면 null입니다.A Type object representing the given type, if the type is in this module; otherwise, null.

특성

예외

classNamenull입니다.className is null.

클래스 이니셜라이저가 호출되고 예외를 throw되는 경우The class initializers are invoked and an exception is thrown.

className이 길이가 0인 문자열인 경우className is a zero-length string.

className에 종속 어셈블리가 필요하지만 이 어셈블리를 찾을 수 없습니다.className requires a dependent assembly that could not be found.

className에 종속 어셈블리가 필요하며 이 어셈블리를 찾았지만 로드할 수 없습니다.className requires a dependent assembly that was found but could not be loaded.

또는-or- 현재 어셈블리가 리플렉션 전용 컨텍스트에 로드되었으며 className에 종속 어셈블리가 필요하지만 이 어셈블리가 미리 로드되지 않았습니다.The current assembly was loaded into the reflection-only context, and className requires a dependent assembly that was not preloaded.

className에 종속 어셈블리가 필요하지만 파일이 유효한 어셈블리가 아닙니다.className requires a dependent assembly, but the file is not a valid assembly.

또는-or- className에 현재 로드된 버전보다 높은 런타임 버전용으로 컴파일된 종속 어셈블리가 필요합니다.className requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version.

예제

다음 예제에서는 지정된 된 모듈의 형식 이름을 표시 지정 false 에 대 한는 ignoreCase 매개 변수는 대/소문자 무시 되지 것입니다 있도록 합니다.The following example displays the name of a type in the specified module, specifying false for the ignoreCase parameter so that case will not be ignored.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->Assembly->GetModules( false );
   
   //In a simple project with only one module, the module at index
   // 0 will be the module containing these classes.
   Module^ myModule = moduleArray[ 0 ];
   Type^ myType;
   myType = myModule->GetType( "ReflectionModule_Examples.MyMainClass", false );
   Console::WriteLine( "Got type: {0}", myType );
}

using System;
using System.Reflection;

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            
            //In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];

            Type myType;
            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false);
            Console.WriteLine("Got type: {0}", myType.ToString());
        }
    }
}
Imports System.Reflection

'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
    Class MyMainClass
        Shared Sub Main()
            Dim moduleArray() As [Module]

            moduleArray = GetType(MyMainClass).Assembly.GetModules(False)

            'In a simple project with only one module, the module at index
            ' 0 will be the module containing these classes.
            Dim myModule As [Module] = moduleArray(0)

            Dim myType As Type
            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False)
            Console.WriteLine("Got type: {0}", myType.ToString())
        End Sub
    End Class
End Namespace 'ReflectionModule_Examples

설명

참고

형식을 다른 어셈블리로 전달 되었습니다, 하는 경우 여전히이 메서드에서 반환 됩니다.If the type has been forwarded to another assembly, it is still returned by this method. 형식 전달에 대 한 내용은 참조 하세요 공용 언어 런타임의 형식 전달합니다.For information on type forwarding, see Type Forwarding in the Common Language Runtime.

형식을 사용 하 여 특정 모듈에서 검색할 수 있습니다 Module.GetType합니다.A type can be retrieved from a specific module using Module.GetType. 호출 Module.GetType 매니페스트가 포함 된 모듈에 전체 어셈블리를 검색 하지 것입니다.Calling Module.GetType on the module that contains the manifest will not search the entire assembly. 에서는 이기는 모듈에 관계 없이 어셈블리에서 형식을 검색 하려면 Assembly.GetType합니다.To retrieve a type from an assembly, regardless of which module it is in, you must call Assembly.GetType.

GetType(String, Boolean, Boolean)

모듈을 검색할 때 대/소문자를 구분할지 여부와 형식을 찾을 수 없을 때 예외를 throw할지 여부를 지정하여 지정된 형식을 반환합니다.Returns the specified type, specifying whether to make a case-sensitive search of the module and whether to throw an exception if the type cannot be found.

public:
 virtual Type ^ GetType(System::String ^ className, bool throwOnError, bool ignoreCase);
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type GetType (string className, bool throwOnError, bool ignoreCase);
override this.GetType : string * bool * bool -> Type
Public Overridable Function GetType (className As String, throwOnError As Boolean, ignoreCase As Boolean) As Type

매개 변수

className
String

찾을 형식의 이름입니다.The name of the type to locate. 이름은 네임스페이스를 포함하는 정규화된 이름이어야 합니다.The name must be fully qualified with the namespace.

throwOnError
Boolean

형식을 찾을 수 없는 경우 예외를 throw하려면 true이고, false을 반환하려면 null입니다.true to throw an exception if the type cannot be found; false to return null.

ignoreCase
Boolean

대/소문자를 구분하지 않는 검색의 경우는 true이고 대/소문자를 구분하는 검색의 경우는 false입니다.true for case-insensitive search; otherwise, false.

반환

지정된 형식이 이 모듈에 선언된 경우 해당 형식을 나타내는 Type 개체이고, 그렇지 않으면 null입니다.A Type object representing the specified type, if the type is declared in this module; otherwise, null.

특성

예외

classNamenull인 경우className is null.

클래스 이니셜라이저가 호출되고 예외를 throw되는 경우The class initializers are invoked and an exception is thrown.

className이 빈 문자열입니다.className is a zero-length string.

throwOnErrortrue이고 형식을 찾을 수 없습니다.throwOnError is true, and the type cannot be found.

className에 종속 어셈블리가 필요하지만 이 어셈블리를 찾을 수 없습니다.className requires a dependent assembly that could not be found.

className에 종속 어셈블리가 필요하며 이 어셈블리를 찾았지만 로드할 수 없습니다.className requires a dependent assembly that was found but could not be loaded.

또는-or- 현재 어셈블리가 리플렉션 전용 컨텍스트에 로드되었으며 className에 종속 어셈블리가 필요하지만 이 어셈블리가 미리 로드되지 않았습니다.The current assembly was loaded into the reflection-only context, and className requires a dependent assembly that was not preloaded.

className에 종속 어셈블리가 필요하지만 파일이 유효한 어셈블리가 아닙니다.className requires a dependent assembly, but the file is not a valid assembly.

또는-or- className에 현재 로드된 버전보다 높은 런타임 버전용으로 컴파일된 종속 어셈블리가 필요합니다.className requires a dependent assembly which was compiled for a version of the runtime later than the currently loaded version.

예제

다음 예제에서는 지정된 된 모듈의 형식 이름을 표시합니다.The following example displays the name of a type in the specified module. throwOnError 하 고 ignoreCase 으로 지정 된 매개 변수 false합니다.The throwOnError and ignoreCase parameters are specified as false.

using namespace System;
using namespace System::Reflection;

namespace ReflectionModule_Examples
{
   public ref class MyMainClass{};

}

int main()
{
   array<Module^>^moduleArray;
   moduleArray = ReflectionModule_Examples::MyMainClass::typeid->Assembly->GetModules( false );
   
   //In a simple project with only one module, the module at index
   // 0 will be the module containing this class.
   Module^ myModule = moduleArray[ 0 ];
   Type^ myType;
   myType = myModule->GetType( "ReflectionModule_Examples.MyMainClass", false, false );
   Console::WriteLine( "Got type: {0}", myType );
}

using System;
using System.Reflection;

namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            
            //In a simple project with only one module, the module at index
            // 0 will be the module containing this class.
            Module myModule = moduleArray[0];

            Type myType;
            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", false, false);
            Console.WriteLine("Got type: {0}", myType.ToString());
        }
    }
}
Imports System.Reflection

'This code assumes that the root namespace is set to empty("").
Namespace ReflectionModule_Examples
    Class MyMainClass
        Shared Sub Main()
            Dim moduleArray() As [Module]

            moduleArray = GetType(MyMainClass).Assembly.GetModules(False)

            'In a simple project with only one module, the module at index
            ' 0 will be the module containing this class.
            Dim myModule As [Module] = moduleArray(0)

            Dim myType As Type
            myType = myModule.GetType("ReflectionModule_Examples.MyMainClass", False, False)
            Console.WriteLine("Got type: {0}", myType.ToString())
        End Sub
    End Class
End Namespace 'ReflectionModule_Examples

설명

throwOnError 매개 변수 형식이 없을 때의 결과만 영향을 줍니다.The throwOnError parameter affects only what happens when the type is not found. Throw 될 수 있는 다른 모든 예외에는 영향을 주지 않습니다.It does not affect any other exceptions that might be thrown. 특히, 형식을 찾았지만 로드할 수 없으면 TypeLoadException throw 할 수 있습니다 경우에 throwOnErrorfalse합니다.In particular, if the type is found but cannot be loaded, TypeLoadException can be thrown even if throwOnError is false.

참고

형식을 다른 어셈블리로 전달 되었습니다, 하는 경우 여전히이 메서드에서 반환 됩니다.If the type has been forwarded to another assembly, it is still returned by this method. 형식 전달에 대 한 내용은 참조 하세요 공용 언어 런타임의 형식 전달합니다.For information on type forwarding, see Type Forwarding in the Common Language Runtime.

형식을 사용 하 여 특정 모듈에서 검색할 수 있습니다 Module.GetType합니다.A type can be retrieved from a specific module using Module.GetType. 호출 Module.GetType 매니페스트가 포함 된 모듈에 전체 어셈블리를 검색 하지 것입니다.Calling Module.GetType on the module that contains the manifest will not search the entire assembly. 에서는 이기는 모듈에 관계 없이 어셈블리에서 형식을 검색 하려면 Assembly.GetType합니다.To retrieve a type from an assembly, regardless of which module it is in, you must call Assembly.GetType.

적용 대상