Export (0) Print
Expand All

ConstructorInfo.Invoke Method (BindingFlags, Binder, Object[], CultureInfo)

When implemented in a derived class, invokes the constructor reflected by this ConstructorInfo with the specified arguments, under the constraints of the specified Binder.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

public abstract Object Invoke(
	BindingFlags invokeAttr,
	Binder binder,
	Object[] parameters,
	CultureInfo culture
)

Parameters

invokeAttr
Type: System.Reflection.BindingFlags

One of the BindingFlags values that specifies the type of binding.

binder
Type: System.Reflection.Binder

A Binder that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. If binder is null, then Binder.DefaultBinding is used.

parameters
Type: System.Object[]

An array of type Object used to match the number, order and type of the parameters for this constructor, under the constraints of binder. If this constructor does not require parameters, pass an array with zero elements, as in Object[] parameters = new Object[0]. Any object in this array that is not explicitly initialized with a value will contain the default value for that object type. For reference-type elements, this value is null. For value-type elements, this value is 0, 0.0, or false, depending on the specific element type.

culture
Type: System.Globalization.CultureInfo

A CultureInfo used to govern the coercion of types. If this is null, the CultureInfo for the current thread is used.

Return Value

Type: System.Object
An instance of the class associated with the constructor.

ExceptionCondition
ArgumentException

The parameters array does not contain values that match the types accepted by this constructor, under the constraints of the binder.

TargetInvocationException

The invoked constructor throws an exception.

TargetParameterCountException

An incorrect number of parameters was passed.

NotSupportedException

Creation of TypedReference, ArgIterator, and RuntimeArgumentHandle types is not supported.

SecurityException

The caller does not have the necessary code access permissions.

MemberAccessException

The class is abstract.

-or-

The constructor is a class initializer.

MethodAccessException

The constructor is private or protected, and the caller lacks ReflectionPermissionFlag.MemberAccess.

The number, type, and order of elements in the parameters array should be identical to the number, type, and order of parameters for the constructor reflected by this instance.

Before calling the constructor, Invoke ensures that the caller has access permission and that the parameters are of the correct number, order and type.

Access restrictions are ignored for fully trusted code. That is, private constructors, methods, fields, and properties can be accessed and invoked using reflection whenever the code is fully trusted.

NoteNote

To create an instance of a value type that has no instance constructors, use the CreateInstance method.

NoteNote

Starting with the .NET Framework 2.0 Service Pack 1, this method can be used to access non-public members if the caller has been granted ReflectionPermission with the ReflectionPermissionFlag.RestrictedMemberAccess flag and if the grant set of the non-public members is restricted to the caller’s grant set, or a subset thereof. (See Security Considerations for Reflection.)

To use this functionality, your application should target the .NET Framework 3.5 or later.

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, 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 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft