내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

Type.GetConstructor 메서드 (Type[])

지정된 배열의 형식과 일치하는 매개 변수를 가진 public 인스턴스 생성자를 검색합니다.

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

[ComVisibleAttribute(true)]
public ConstructorInfo GetConstructor(
	Type[] types
)

매개 변수

types
형식: System.Type[]
원하는 생성자에 대한 매개 변수의 수, 순서 및 형식을 나타내는 Type 개체의 배열입니다.
또는
매개 변수를 사용하지 않는 생성자를 가져오기 위한 Type 개체의 빈 배열입니다. 이러한 빈 배열은 static 필드 Type.EmptyTypes에서 제공됩니다.

반환 값

형식: System.Reflection.ConstructorInfo
매개 변수 형식 배열의 형식과 일치하는 매개 변수를 가진 public 인스턴스 생성자를 나타내는 개체이며(있는 경우), 이러한 개체가 없으면 null을 반환합니다.

구현

_Type.GetConstructor(Type[])

예외조건
ArgumentNullException

typesnull입니다.

또는

types의 요소 중 하나가 null인 경우

ArgumentException

types가 다차원 배열인 경우

이 메서드 오버로드는 public 인스턴스 생성자를 찾으므로 클래스 이니셜라이저(.cctor)를 가져오는 데 사용할 수 없습니다. 클래스 이니셜라이저를 가져오려면 BindingFlags를 사용하는 오버로드를 사용하고 BindingFlags.Static을 지정합니다. | BindingFlags.NonPublic (Visual Basic의 BindingFlags.StaticOrBindingFlags.NonPublic). 또한 TypeInitializer 속성을 사용하여 클래스 이니셜라이저를 가져올 수도 있습니다.

요청된 생성자가 public이 아니면 이 메서드는 null을 반환합니다.

참고참고

생성자와 메서드를 찾는 경우 매개 변수를 생략할 수 없습니다. 호출할 경우에만 매개 변수를 생략할 수 있습니다.

현재 Type이 생성된 제네릭 형식을 나타내는 경우 이 메서드는 ConstructorInfo를 반환합니다. 여기에는 적절한 형식 인수로 대체된 형식 매개 변수가 포함됩니다. 현재 Type이 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우 이 메서드는 항상 null을 반환합니다.

다음 예제에서는 MyClass의 형식을 얻고 ConstructorInfo 개체를 가져오며 생성자 시그니처를 표시합니다.



using System;
using System.Reflection;
using System.Security;

public class MyClass1
{
    public MyClass1(){}
    public MyClass1(int i){}

    public static void Main()
    {
        try
        {
            Type myType = typeof(MyClass1);
            Type[] types = new Type[1];
            types[0] = typeof(int);
            // Get the constructor that takes an integer as a parameter.
            ConstructorInfo constructorInfoObj = myType.GetConstructor(types);
            if (constructorInfoObj != null)
            {
                Console.WriteLine("The constructor of MyClass1 that takes an " + 
                    "integer as a parameter is: "); 
                Console.WriteLine(constructorInfoObj.ToString());
            }
            else
            {
                Console.WriteLine("The constructor of MyClass1 that takes an integer " +
                    "as a parameter is not available."); 
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception caught.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
    }
}


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft