Expression.New Expression.New Expression.New Expression.New Method

定義

NewExpression を作成します。Creates a NewExpression.

オーバーロード

New(ConstructorInfo) New(ConstructorInfo) New(ConstructorInfo) New(ConstructorInfo)

引数を受け取らない指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor that takes no arguments.

New(Type) New(Type) New(Type)

指定した型のパラメーターなしのコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the parameterless constructor of the specified type.

New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>)

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments.

New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments.

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

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments. コンストラクターが初期化したフィールドにアクセスするメンバーが指定されます。The members that access the constructor initialized fields are specified.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。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.

New(ConstructorInfo) New(ConstructorInfo) New(ConstructorInfo) New(ConstructorInfo)

引数を受け取らない指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor that takes no arguments.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor);
static member New : System.Reflection.ConstructorInfo -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo) As NewExpression

パラメーター

constructor
ConstructorInfo ConstructorInfo ConstructorInfo ConstructorInfo

ConstructorInfo プロパティを等しく設定する ConstructorThe ConstructorInfo to set the Constructor property equal to.

戻り値

NewExpression と等しい NodeType プロパティおよび指定した値に設定された New プロパティを含む ConstructorA NewExpression that has the NodeType property equal to New and the Constructor property set to the specified value.

例外

constructor が表すコンストラクターには、少なくとも 1 つのパラメーターがあります。The constructor that constructor represents has at least one parameter.

注釈

ArgumentsMembers結果のプロパティNewExpressionは空のコレクションです。The Arguments and Members properties of the resulting NewExpression are empty collections. Typeプロパティによって表されるコンス トラクターの宣言する型を表しますconstructorします。The Type property represents the declaring type of the constructor represented by constructor.

New(Type) New(Type) New(Type)

指定した型のパラメーターなしのコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the parameterless constructor of the specified type.

public:
 static System::Linq::Expressions::NewExpression ^ New(Type ^ type);
public static System.Linq.Expressions.NewExpression New (Type type);
static member New : Type -> System.Linq.Expressions.NewExpression

パラメーター

type
Type Type Type Type

引数を受け取らないコンストラクターを持つ TypeA Type that has a constructor that takes no arguments.

戻り値

NewExpression と等しい NodeType プロパティと、指定された型のパラメーターなしのコンストラクターを表す New に設定された Constructor プロパティを含む ConstructorInfoA NewExpression that has the NodeType property equal to New and the Constructor property set to the ConstructorInfo that represents the constructor without parameters for the specified type.

例外

type が表す型には、パラメーターなしのコンストラクターがありません。The type that type represents does not have a constructor without parameters.

次の例を使用する方法を示します、New(Type)を作成する方法、NewExpressionを表すパラメーターなしのコンス トラクターを呼び出すことによって、dictionary オブジェクトの新しいインスタンスを構築します。The following example demonstrates how to use the New(Type) method to create a NewExpression that represents constructing a new instance of a dictionary object by calling the constructor without parameters.

// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
    System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));

Console.WriteLine(newDictionaryExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
    System.Linq.Expressions.Expression.[New]( _
        Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))

Console.WriteLine(newDictionaryExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2()

注釈

typeパラメーターは、パラメーターなしのコンス トラクターを持つ型を表す必要があります。The type parameter must represent a type that has a constructor without parameters.

ArgumentsMembers結果のプロパティNewExpressionは空のコレクションです。The Arguments and Members properties of the resulting NewExpression are empty collections. Typeプロパティは等しくtypeします。The Type property is equal to type.

New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>) New(ConstructorInfo, IEnumerable<Expression>)

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression)) As NewExpression

パラメーター

constructor
ConstructorInfo ConstructorInfo ConstructorInfo ConstructorInfo

ConstructorInfo プロパティを等しく設定する ConstructorThe ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む ArgumentsAn IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された New プロパティおよび Constructor プロパティを含む ArgumentsA NewExpression that has the NodeType property equal to New and the Constructor and Arguments properties set to the specified values.

例外

constructornullです。constructor is null.

または-or- arguments の要素は null です。An element of arguments is null.

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

または-or- arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

注釈

argumentsパラメーターによって表されるコンス トラクターのパラメーターの数と同じ数の要素を含める必要がありますconstructorします。The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. 場合argumentsnull、空の場合と見なされます、Arguments結果のプロパティNewExpressionは空のコレクションです。If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

TypeプロパティNewExpressionによって表されるコンス トラクターの宣言する型を表すconstructorします。The Type property of the resulting NewExpression represents the declaring type of the constructor represented by constructor. Membersプロパティが空のコレクション。The Members property is an empty collection.

New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[]) New(ConstructorInfo, Expression[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[] arguments);
static member New : System.Reflection.ConstructorInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, ParamArray arguments As Expression()) As NewExpression

パラメーター

constructor
ConstructorInfo ConstructorInfo ConstructorInfo ConstructorInfo

ConstructorInfo プロパティを等しく設定する ConstructorThe ConstructorInfo to set the Constructor property equal to.

arguments
Expression[]

Expression コレクションへの読み込みに使用する Arguments オブジェクトの配列。An array of Expression objects to use to populate the Arguments collection.

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された New プロパティおよび Constructor プロパティを含む ArgumentsA NewExpression that has the NodeType property equal to New and the Constructor and Arguments properties set to the specified values.

例外

constructornullです。constructor is null.

または-or- arguments の要素は null です。An element of arguments is null.

arguments の長さが、constructor を表すコンストラクターのパラメーターの数と一致しません。The length of arguments does match the number of parameters for the constructor that constructor represents.

または-or- arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。The Type property of an element of arguments is not assignable to the type of the corresponding parameter of the constructor that constructor represents.

注釈

argumentsパラメーターによって表されるコンス トラクターのパラメーターの数と同じ数の要素を含める必要がありますconstructorします。The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. 場合argumentsnull、空の場合と見なされます、Arguments結果のプロパティNewExpressionは空のコレクションです。If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

TypeプロパティNewExpressionによって表されるコンス トラクターの宣言する型を表すconstructorします。The Type property of the resulting NewExpression represents the declaring type of the constructor represented by constructor. Membersプロパティが空のコレクション。The Members property is an empty collection.

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

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。Creates a NewExpression that represents calling the specified constructor with the specified arguments. コンストラクターが初期化したフィールドにアクセスするメンバーが指定されます。The members that access the constructor initialized fields are specified.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, System::Collections::Generic::IEnumerable<System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression

パラメーター

constructor
ConstructorInfo ConstructorInfo ConstructorInfo ConstructorInfo

ConstructorInfo プロパティを等しく設定する ConstructorThe ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む ArgumentsAn IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

members
IEnumerable<MemberInfo>

IEnumerable<T> コレクションへの読み込みに使用する MemberInfo オブジェクトを含む MembersAn IEnumerable<T> that contains MemberInfo objects to use to populate the Members collection.

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された NewConstructor、および Arguments の各プロパティを含む MembersA NewExpression that has the NodeType property equal to New and the Constructor, Arguments and Members properties set to the specified values.

例外

constructornullです。constructor is null.

または-or- arguments の要素は null です。An element of arguments is null.

または-or- members の要素は null です。An element of members is null.

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

または-or- arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。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- members パラメーターに、arguments と同じ数の要素がありません。The members parameter does not have the same number of elements as arguments.

または-or- arguments の要素に、members の対応する要素により表されるメンバーの型に代入可能な型を表す Type プロパティがあります。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.

注釈

argumentsパラメーターによって表されるコンス トラクターのパラメーターの数と同じ数の要素を含める必要がありますconstructorします。The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. 場合argumentsnull、空の場合と見なされます、Arguments結果のプロパティNewExpressionは空のコレクションです。If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

場合membersnullMembersプロパティNewExpressionは空のコレクションです。If members is null, the Members property of the resulting NewExpression is an empty collection. 場合membersないnull、同じ数の要素の必要がありますargumentsの各要素を指定する必要がありますいないnullします。If members is not null, it must have the same number of elements as arguments and each element must not be null. 各要素members必要があります、 PropertyInfoFieldInfoまたはMethodInfoによって表されるコンス トラクターの宣言型のインスタンス メンバーを表すconstructorします。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. プロパティには、プロパティを表す場合、getアクセサー。If it represents a property, the property must have a get accessor. 対応する要素のargumentsの各要素に対してmembers必要があります、Typeメンバーの型に割り当て可能な型を表すプロパティをmembers要素を表します。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.

TypeプロパティNewExpressionコンス トラクターの宣言する型を表すをconstructorを表します。The Type property of the resulting NewExpression represents the declaring type of the constructor that constructor represents.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。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.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, ... cli::array <System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, params System.Reflection.MemberInfo[] members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression

パラメーター

constructor
ConstructorInfo ConstructorInfo ConstructorInfo ConstructorInfo

ConstructorInfo プロパティを等しく設定する ConstructorThe ConstructorInfo to set the Constructor property equal to.

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む ArgumentsAn IEnumerable<T> that contains Expression objects to use to populate the Arguments collection.

members
MemberInfo[]

MemberInfo コレクションへの読み込みに使用する Members オブジェクトの配列。An array of MemberInfo objects to use to populate the Members collection.

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された NewConstructor、および Arguments の各プロパティを含む MembersA NewExpression that has the NodeType property equal to New and the Constructor, Arguments and Members properties set to the specified values.

例外

constructornullです。constructor is null.

または-or- arguments の要素は null です。An element of arguments is null.

または-or- members の要素は null です。An element of members is null.

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。The arguments parameter does not contain the same number of elements as the number of parameters for the constructor that constructor represents.

または-or- arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。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- members パラメーターに、arguments と同じ数の要素がありません。The members parameter does not have the same number of elements as arguments.

または-or- arguments の要素に、members の対応する要素により表されるメンバーの型に代入可能な型を表す Type プロパティがあります。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.

注釈

argumentsパラメーターによって表されるコンス トラクターのパラメーターの数と同じ数の要素を含める必要がありますconstructorします。The arguments parameter must contain the same number of elements as the number of parameters for the constructor represented by constructor. 場合argumentsnull、空の場合と見なされます、Arguments結果のプロパティNewExpressionは空のコレクションです。If arguments is null, it is considered empty, and the Arguments property of the resulting NewExpression is an empty collection.

場合membersnullMembersプロパティNewExpressionは空のコレクションです。If members is null, the Members property of the resulting NewExpression is an empty collection. 場合membersないnull、同じ数の要素の必要がありますargumentsの各要素を指定する必要がありますいないnullします。If members is not null, it must have the same number of elements as arguments and each element must not be null. 各要素members必要があります、 PropertyInfoFieldInfoまたはMethodInfoによって表されるコンス トラクターの宣言型のインスタンス メンバーを表すconstructorします。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. 対応する要素のargumentsの各要素に対してmembers必要があります、Typeメンバーの型に割り当て可能な型を表すプロパティをmembers要素を表します。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.

TypeプロパティNewExpressionコンス トラクターの宣言する型を表すをconstructorを表します。The Type property of the resulting NewExpression represents the declaring type of the constructor that constructor represents.

適用対象