Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Expression::New Method (ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Creates a NewExpression that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified.

Namespace:  System.Linq.Expressions
Assemblies:   System.Core (in System.Core.dll)
  System.Linq.Expressions (in System.Linq.Expressions.dll)

public:
static NewExpression^ New(
	ConstructorInfo^ constructor, 
	IEnumerable<Expression^>^ arguments, 
	IEnumerable<MemberInfo^>^ members
)

Parameters

constructor
Type: System.Reflection::ConstructorInfo

The ConstructorInfo to set the Constructor property equal to.

arguments
Type: System.Collections.Generic::IEnumerable<Expression>

An IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

members
Type: System.Collections.Generic::IEnumerable<MemberInfo>

An IEnumerable<T> that contains MemberInfo objects to use to populate the Members collection.

Return Value

Type: System.Linq.Expressions::NewExpression
A NewExpression that has the NodeType property equal to New and the Constructor, Arguments and Members properties set to the specified values.

ExceptionCondition
ArgumentNullException

constructor is nullptr.

-or-

An element of arguments is nullptr.

-or-

An element of members is nullptr.

ArgumentException

The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

-or-

The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

-or-

The members parameter does not have the same number of elements as arguments.

-or-

An element of arguments has a Type property that represents a type that is not assignable to the type of the member that is represented by the corresponding element of members.

The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. If arguments is nullptr, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

If members is nullptr, the Members property of the resulting NewExpression is an empty collection. If members is not nullptr, it must have the same number of elements as arguments and each element must not be nullptr. Each element of members must be a PropertyInfo, FieldInfo or MethodInfo that represents an instance member on the declaring type of the constructor represented by constructor. If it represents a property, the property must have a get accessor. The corresponding element of arguments for each element of members must have a Type property that represents a type that is assignable to the type of the member that the members element represents.

The Type property of the resulting NewExpression represents the declaring type of the constructor that constructor represents.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Show:
© 2015 Microsoft