Expression.New Method (ConstructorInfo, IEnumerable<Expression>, array<MemberInfo[])
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates a NewExpression that represents calling the specified constructor with the specified arguments. The members that access the constructor initialized fields are specified as an array.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
Syntax
'Declaration
Public Shared Function New ( _
constructor As ConstructorInfo, _
arguments As IEnumerable(Of Expression), _
ParamArray members As MemberInfo() _
) As NewExpression
public static NewExpression New(
ConstructorInfo constructor,
IEnumerable<Expression> arguments,
params 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: array<System.Reflection.MemberInfo[]
An array of 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.
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | constructor is nulla null reference (Nothing in Visual Basic). -or- An element of arguments is nulla null reference (Nothing in Visual Basic). -or- An element of members is nulla null reference (Nothing in Visual Basic). |
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. |
Remarks
The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. If arguments is nulla null reference (Nothing in Visual Basic), it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.
If members is nulla null reference (Nothing in Visual Basic), the Members property of the resulting NewExpression is an empty collection. If members is not nulla null reference (Nothing in Visual Basic), it must have the same number of elements as arguments and each element must not be nulla null reference (Nothing in Visual Basic). 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 be able to retrieve the value of the associated field. 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.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.