ConstructorInfo.Invoke 메서드

정의

이 인스턴스에서 리플렉션하는 생성자를 호출합니다.

오버로드

Invoke(Object[])

지정된 매개 변수가 있는 인스턴스에서 리플렉트된 생성자를 호출하고 일반적으로 사용되지 않는 매개 변수에 대해 기본값을 제공합니다.

Invoke(BindingFlags, Binder, Object[], CultureInfo)

파생 클래스에 구현할 경우 지정된 ConstructorInfo의 제약 조건에서 인수를 사용하여 이 Binder에서 리플렉션한 생성자를 호출합니다.

Invoke(Object[])

지정된 매개 변수가 있는 인스턴스에서 리플렉트된 생성자를 호출하고 일반적으로 사용되지 않는 매개 변수에 대해 기본값을 제공합니다.

public:
 virtual System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public:
 System::Object ^ Invoke(cli::array <System::Object ^> ^ parameters);
public virtual object Invoke (object[] parameters);
public object Invoke (object?[]? parameters);
public object Invoke (object[] parameters);
override this.Invoke : obj[] -> obj
Public Overridable Function Invoke (parameters As Object()) As Object
Public Function Invoke (parameters As Object()) As Object

매개 변수

parameters
Object[]

이 생성자 매개 변수의 번호, 순서 및 형식(기본 바인더의 제약 조건을 따름)과 일치하는 값 배열입니다. 이 생성자가 매개 변수를 사용하지 않는 경우 Object[] parameters = new Object[0]와 같이 요소 수가 0개이거나 null인 배열을 사용합니다. 값으로 명시적으로 초기화되지 않은 이 배열의 모든 개체는 해당 개체 형식에 대해 기본값을 포함합니다. 참조 형식 요소의 경우 이 값은 null입니다. 값 형식 요소의 경우 이 값은 특정 요소 형식에 따라 0, 0.0 또는 false입니다.

반환

Object

생성자와 연결된 클래스의 인스턴스입니다.

예외

이 클래스가 추상 클래스인 경우

또는

생성자가 클래스 이니셜라이저인 경우

생성자가 Private 또는 protected이고 호출자에게 MemberAccess가 부족한 경우

참고: Windows Microsoft Store 앱용 .NET 또는 이식 가능한 클래스 라이브러리에서 기본 클래스 예외MemberAccessException를 대신 catch합니다.

parameters 배열에 이 생성자가 수락하는 형식과 일치하는 값이 포함되어 있지 않은 경우

호출된 생성자가 예외를 throw하는 경우

잘못된 개수의 매개 변수가 제공된 경우

TypedReference, ArgIterator, 및 RuntimeArgumentHandle 형식 만들기가 지원되지 않는 경우

호출자에게 필요한 코드 액세스 권한이 없는 경우

설명

배열의 요소 수, 형식 및 순서는 이 인스턴스에서 parameters 반영하는 생성자의 매개 변수 수, 형식 및 순서와 동일해야 합니다. 생성자를 Invoke 호출하기 전에 호출자에게 액세스 권한이 있는지 확인하고 매개 변수가 유효한지 확인합니다.

완전히 신뢰할 수 있는 코드에 대한 액세스 제한은 무시됩니다. 즉, 코드를 완전히 신뢰할 때마다 리플렉션을 사용하여 프라이빗 생성자, 메서드, 필드 및 속성에 액세스하고 호출할 수 있습니다.

참고

인스턴스 생성자가 없는 값 형식의 인스턴스를 만들려면 메서드를 CreateInstance 사용합니다.

이 메서드는 기본값을 사용하여 오버로드된 다음 버전에 대한 편리한 방법입니다. 이 메서드는 재정의할 수 없습니다.

참고

.NET Framework 2.0부터 이 메서드를 사용하여 호출자에게 플래그가 ReflectionPermissionFlag.RestrictedMemberAccess 부여된 ReflectionPermission 경우 및 public이 아닌 멤버의 권한 부여 집합이 호출자의 권한 부여 집합 또는 해당 하위 집합으로 제한되는 경우 공용이 아닌 멤버에 액세스할 수 있습니다. (리플렉션에 대한 보안 고려 사항 참조) 이 기능을 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.

적용 대상

Invoke(BindingFlags, Binder, Object[], CultureInfo)

파생 클래스에 구현할 경우 지정된 ConstructorInfo의 제약 조건에서 인수를 사용하여 이 Binder에서 리플렉션한 생성자를 호출합니다.

public:
 abstract System::Object ^ Invoke(System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object?[]? parameters, System.Globalization.CultureInfo? culture);
public abstract object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public MustOverride Function Invoke (invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

매개 변수

invokeAttr
BindingFlags

바인딩 형식을 지정하는 BindingFlags 값 중 하나입니다.

binder
Binder

속성 집합을 정의하고, 리플렉션을 통해 바인딩, 인수 형식의 강제 변환, 멤버 호출을 가능하게 하는 Binder 입니다. bindernull이면 Binder.DefaultBinding가 사용됩니다.

parameters
Object[]

binder의 제약 조건에서 이 생성자에 대한 매개 변수의 개수, 순서 및 형식과 일치시키는 데 사용하는 Object 형식의 배열입니다. 이 생성자에 매개 변수가 필요하지 않은 경우에는 Object[] parameters = new Object[0]와 같이 요소를 포함하지 않는 배열을 전달합니다. 값으로 명시적으로 초기화되지 않은 이 배열의 모든 개체는 해당 개체 형식에 대해 기본값을 포함합니다. 참조 형식 요소의 경우 이 값은 null입니다. 값 형식 요소의 경우 이 값은 특정 요소 형식에 따라 0, 0.0 또는 false입니다.

culture
CultureInfo

형식의 강제 변환을 제어하는 데 사용되는 CultureInfo 입니다. 이 매개 변수가 null이면 현재 스레드에 대한 CultureInfo가 사용됩니다.

반환

Object

생성자와 연결된 클래스의 인스턴스입니다.

예외

parameters 배열에 binder 제약 조건에 따라 생성자에서 적용하는 형식과 일치하는 값이 없는 경우

호출된 생성자가 예외를 throw하는 경우

잘못된 개수의 매개 변수가 제공된 경우

TypedReference, ArgIterator, 및 RuntimeArgumentHandle 형식 만들기가 지원되지 않는 경우

호출자에게 필요한 코드 액세스 권한이 없는 경우

이 클래스가 추상 클래스인 경우

또는

생성자가 클래스 이니셜라이저인 경우

생성자가 Private 또는 protected이고 호출자에게 MemberAccess가 부족한 경우

설명

배열의 요소 수, 형식 및 순서는 이 인스턴스에서 parameters 반영하는 생성자의 매개 변수 수, 형식 및 순서와 동일해야 합니다.

생성자를 Invoke 호출하기 전에 호출자에게 액세스 권한이 있고 매개 변수가 올바른 숫자, 순서 및 형식인지 확인합니다.

완전히 신뢰할 수 있는 코드에 대한 액세스 제한은 무시됩니다. 즉, 코드를 완전히 신뢰할 때마다 리플렉션을 사용하여 프라이빗 생성자, 메서드, 필드 및 속성에 액세스하고 호출할 수 있습니다.

참고

인스턴스 생성자가 없는 값 형식의 인스턴스를 만들려면 메서드를 CreateInstance 사용합니다.

참고

.NET Framework 2.0부터 이 메서드를 사용하여 호출자에게 플래그가 ReflectionPermissionFlag.RestrictedMemberAccess 부여된 ReflectionPermission 경우 및 public이 아닌 멤버의 권한 부여 집합이 호출자의 권한 부여 집합 또는 해당 하위 집합으로 제한되는 경우 공용이 아닌 멤버에 액세스할 수 있습니다. (리플렉션에 대한 보안 고려 사항 참조) 이 기능을 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.

추가 정보

적용 대상