Expression.New メソッド

定義

NewExpression を作成します。

オーバーロード

New(ConstructorInfo)

引数を受け取らない指定したコンストラクターの呼び出しを表す NewExpression を作成します。

New(Type)

指定した型のパラメーターなしのコンストラクターの呼び出しを表す NewExpression を作成します。

New(ConstructorInfo, IEnumerable<Expression>)

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。

New(ConstructorInfo, Expression[])

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。

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

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 コンストラクターが初期化したフィールドにアクセスするメンバーが指定されます。

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

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 コンストラクターが初期化したフィールドにアクセスするメンバーが配列として指定されます。

New(ConstructorInfo)

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

引数を受け取らない指定したコンストラクターの呼び出しを表す NewExpression を作成します。

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 プロパティを等しく設定する Constructor

戻り値

NewExpression と等しい NodeType プロパティおよび指定した値に設定された New プロパティを含む Constructor

例外

constructornullです。

constructor が表すコンストラクターには、少なくとも 1 つのパラメーターがあります。

注釈

Arguments結果NewExpressionの および Members プロパティは空のコレクションです。 プロパティは Type 、 で constructor表されるコンストラクターの宣言型を表します。

適用対象

New(Type)

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

指定した型のパラメーターなしのコンストラクターの呼び出しを表す NewExpression を作成します。

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
Public Shared Function New (type As Type) As NewExpression

パラメーター

type
Type

引数を受け取らないコンストラクターを持つ Type

戻り値

NewExpression と等しい NodeType プロパティと、指定された型のパラメーターなしのコンストラクターを表す New に設定された Constructor プロパティを含む ConstructorInfo

例外

typenullです。

type が表す型には、パラメーターなしのコンストラクターがありません。

次の例では、 メソッドを New(Type) 使用して、 パラメーターなしでコンストラクターを呼び出してディクショナリ オブジェクトの新しいインスタンスを構築することを表す を作成 NewExpression する方法を示します。

// 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 、パラメーターのないコンストラクターを持つ型を表す必要があります。

Arguments結果NewExpressionの および Members プロパティは空のコレクションです。 プロパティは Typetype同じです。

適用対象

New(ConstructorInfo, IEnumerable<Expression>)

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。

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);
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 プロパティを等しく設定する Constructor

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む Arguments

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された New プロパティおよび Constructor プロパティを含む Arguments

例外

constructornull です。

- または -

arguments の要素は null です。

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。

- または -

arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。

注釈

パラメーターには arguments 、 で constructor表されるコンストラクターのパラメーターの数と同じ数の要素を含める必要があります。 が の場合argumentsは空と見なされArguments、結果NewExpressionの の プロパティは空のコレクションnullになります。

結果NewExpressionの の プロパティはType、 でconstructor表されるコンストラクターの宣言型を表します。 プロパティは Members 空のコレクションです。

適用対象

New(ConstructorInfo, Expression[])

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。

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);
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 プロパティを等しく設定する Constructor

arguments
Expression[]

Expression コレクションへの読み込みに使用する Arguments オブジェクトの配列。

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された New プロパティおよび Constructor プロパティを含む Arguments

例外

constructornull です。

- または -

arguments の要素は null です。

arguments の長さが、constructor を表すコンストラクターのパラメーターの数と一致しません。

- または -

arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。

注釈

パラメーターには arguments 、 で constructor表されるコンストラクターのパラメーターの数と同じ数の要素を含める必要があります。 が の場合argumentsは空と見なされArguments、結果NewExpressionの の プロパティは空のコレクションnullになります。

結果NewExpressionの の プロパティはType、 でconstructor表されるコンストラクターの宣言型を表します。 プロパティは Members 空のコレクションです。

適用対象

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

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 コンストラクターが初期化したフィールドにアクセスするメンバーが指定されます。

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);
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 プロパティを等しく設定する Constructor

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む Arguments

members
IEnumerable<MemberInfo>

IEnumerable<T> コレクションへの読み込みに使用する MemberInfo オブジェクトを含む Members

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された NewConstructor、および Arguments の各プロパティを含む Members

例外

constructornull です。

- または -

arguments の要素は null です。

- または -

members の要素は null です。

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。

- または -

arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。

- または -

members パラメーターに、arguments と同じ数の要素がありません。

- または -

arguments の要素に、members の対応する要素により表されるメンバーの型に代入可能な型を表す Type プロパティがあります。

注釈

パラメーターには arguments 、 で constructor表されるコンストラクターのパラメーターの数と同じ数の要素を含める必要があります。 が の場合argumentsは空と見なされArguments、結果NewExpressionの の プロパティは空のコレクションnullになります。

が のnull場合membersMembers結果NewExpressionの のプロパティは空のコレクションです。 が でないnull場合membersは、 と同じ数の要素argumentsを持ち、各要素を にnullすることはできません。 のmembers各要素は、 PropertyInfoFieldInfo である必要があります。またはMethodInfo、 によってconstructor表されるコンストラクターの宣言型のインスタンス メンバーを表します。 プロパティを表す場合、プロパティにはアクセサーが必要です get 。 のmembers各要素の arguments 対応する 要素には、Type要素が表すメンバーの型に割り当て可能な型を表す プロパティがmembers必要です。

結果NewExpressionの の プロパティはType、 を表すコンストラクターの宣言型をconstructor表します。

適用対象

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

ソース:
NewExpression.cs
ソース:
NewExpression.cs
ソース:
NewExpression.cs

指定した引数を持つ指定したコンストラクターの呼び出しを表す NewExpression を作成します。 コンストラクターが初期化したフィールドにアクセスするメンバーが配列として指定されます。

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);
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 プロパティを等しく設定する Constructor

arguments
IEnumerable<Expression>

IEnumerable<T> コレクションへの読み込みに使用する Expression オブジェクトを含む Arguments

members
MemberInfo[]

MemberInfo コレクションへの読み込みに使用する Members オブジェクトの配列。

戻り値

NewExpression と等しい NodeType プロパティと、指定した値に設定された NewConstructor、および Arguments の各プロパティを含む Members

例外

constructornull です。

- または -

arguments の要素は null です。

- または -

members の要素は null です。

arguments パラメーターに、constructor が表すコンストラクターのパラメーターの数と同じ数の要素が格納されていません。

- または -

arguments の要素の Type プロパティを、constructor を表すコンストラクターの対応するパラメーターの型に割り当てることができません。

- または -

members パラメーターに、arguments と同じ数の要素がありません。

- または -

arguments の要素に、members の対応する要素により表されるメンバーの型に代入可能な型を表す Type プロパティがあります。

注釈

パラメーターには arguments 、 で constructor表されるコンストラクターのパラメーターの数と同じ数の要素を含める必要があります。 が の場合argumentsは空と見なされArguments、結果NewExpressionの の プロパティは空のコレクションnullになります。

が のnull場合membersMembers結果NewExpressionの のプロパティは空のコレクションです。 が でないnull場合membersは、 と同じ数の要素argumentsを持ち、各要素を にnullすることはできません。 のmembers各要素は、 PropertyInfoFieldInfo である必要があります。またはMethodInfo、 によってconstructor表されるコンストラクターの宣言型のインスタンス メンバーを表します。 プロパティを表す場合、プロパティは関連付けられたフィールドの値を取得できる必要があります。 のmembers各要素の arguments 対応する 要素には、Type要素が表すメンバーの型に割り当て可能な型を表す プロパティがmembers必要です。

結果NewExpressionの の プロパティはType、 を表すコンストラクターの宣言型をconstructor表します。

適用対象