Expression.NewArrayInit メソッド

定義

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。

オーバーロード

NewArrayInit(Type, IEnumerable<Expression>)

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。

NewArrayInit(Type, Expression[])

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。

NewArrayInit(Type, IEnumerable<Expression>)

ソース:
NewArrayExpression.cs
ソース:
NewArrayExpression.cs
ソース:
NewArrayExpression.cs

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member NewArrayInit : Type * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, initializers As IEnumerable(Of Expression)) As NewArrayExpression

パラメーター

type
Type

配列の要素の型を表す Type

initializers
IEnumerable<Expression>

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

戻り値

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

例外

type または initializersnull です。

- または -

initializers の要素は null です。

initializers の要素の Type プロパティは、type が表す型に代入できない型を表します。

次の例では、 メソッドを NewArrayInit 使用して、文字列式のリストで初期化される 1 次元文字列配列の作成を表す式ツリーを作成する方法を示します。

List<System.Linq.Expressions.Expression> trees =
    new List<System.Linq.Expressions.Expression>()
        { System.Linq.Expressions.Expression.Constant("oak"),
          System.Linq.Expressions.Expression.Constant("fir"),
          System.Linq.Expressions.Expression.Constant("spruce"),
          System.Linq.Expressions.Expression.Constant("alder") };

// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);

// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());

// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New System.Linq.Expressions.Expression() _
         {System.Linq.Expressions.Expression.Constant("oak"), _
          System.Linq.Expressions.Expression.Constant("fir"), _
          System.Linq.Expressions.Expression.Constant("spruce"), _
          System.Linq.Expressions.Expression.Constant("alder")})

' Create an expression tree that represents creating and  
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())

' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}

注釈

の各要素の プロパティはType、 によってtype表される型に割り当て可能な型を表す必要があります。引用符で囲まれた後の可能性があります。initializers

注意

要素は、 が の場合typeExpressionにのみ引用符で囲まれます。 引用符は、要素がノードに Quote ラップされていることを意味します。 結果のノードは、 UnaryExpression プロパティが Operandinitializers要素である です。

結果NewArrayExpressionの プロパティはType、ランクが 1 で要素型が である配列型typeを表します。

適用対象

NewArrayInit(Type, Expression[])

ソース:
NewArrayExpression.cs
ソース:
NewArrayExpression.cs
ソース:
NewArrayExpression.cs

1 次元配列の作成と、要素のリストからの初期化を表す NewArrayExpression を作成します。

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit (Type type, params System.Linq.Expressions.Expression[] initializers);
static member NewArrayInit : Type * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, ParamArray initializers As Expression()) As NewArrayExpression

パラメーター

type
Type

配列の要素の型を表す Type

initializers
Expression[]

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

戻り値

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

例外

type または initializersnull です。

- または -

initializers の要素は null です。

initializers の要素の Type プロパティは、type 型に代入可能な型を表します。

次の例では、 メソッドを NewArrayInit 使用して、文字列式のリストで初期化される 1 次元文字列配列の作成を表す式ツリーを作成する方法を示します。

List<System.Linq.Expressions.Expression> trees =
    new List<System.Linq.Expressions.Expression>()
        { System.Linq.Expressions.Expression.Constant("oak"),
          System.Linq.Expressions.Expression.Constant("fir"),
          System.Linq.Expressions.Expression.Constant("spruce"),
          System.Linq.Expressions.Expression.Constant("alder") };

// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);

// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());

// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New System.Linq.Expressions.Expression() _
         {System.Linq.Expressions.Expression.Constant("oak"), _
          System.Linq.Expressions.Expression.Constant("fir"), _
          System.Linq.Expressions.Expression.Constant("spruce"), _
          System.Linq.Expressions.Expression.Constant("alder")})

' Create an expression tree that represents creating and  
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())

' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}

注釈

の各要素の プロパティはType、 によってtype表される型に割り当て可能な型を表す必要があります。引用符で囲まれた後の可能性があります。initializers

注意

要素は、 が の場合typeExpressionにのみ引用符で囲まれます。 引用符は、要素がノードに Quote ラップされていることを意味します。 結果のノードは、 UnaryExpression プロパティが Operandinitializers要素である です。

結果NewArrayExpressionの プロパティはType、ランクが 1 で要素型が である配列型typeを表します。

適用対象