この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

System.Linq.Expressions 名前空間

 

公開日: 2016年10月

System.Linq.Expressions 名前空間には、クラス、インターフェイスおよび言語レベルのコード式を式ツリーの形式でオブジェクトとして表せるを有効にする列挙体が含まれています。

クラス説明
System_CAPS_pubclassBinaryExpression

2 項演算子を持つ式を表します。

System_CAPS_pubclassBlockExpression

変数を定義できる式のシーケンスを格納するブロックを表します。

System_CAPS_pubclassCatchBlock

try ブロックの catch ステートメントを表します。

System_CAPS_pubclassConditionalExpression

条件演算子を持つ式を表します。

System_CAPS_pubclassConstantExpression

定数値を持つ式を表します。

System_CAPS_pubclassDebugInfoExpression

デバッグ情報のシーケンス ポイントを生成またはクリアします。 これにより、デバッガーはデバッグ時に正しいソース コードを強調表示できます。

System_CAPS_pubclassDefaultExpression

型または空の式の既定値を表します。

System_CAPS_pubclassDynamicExpression

動的操作を表します。

System_CAPS_pubclassDynamicExpressionVisitor

動的式ツリーのビジターまたはリライターを表します。

System_CAPS_pubclassElementInit

IEnumerable コレクションの単一要素の初期化子を表します。

System_CAPS_pubclassExpression

式ツリー ノードを表すクラスの派生元の基底クラスを提供します。 さまざまなノード型を作成する static (Visual Basic では Shared) ファクトリ メソッドも含まれています。 これは abstract クラスです。

System_CAPS_pubclassExpression<TDelegate>

厳密に型指定されたラムダ式を、式ツリー形式のデータ構造体として表します。 このクラスは継承できません。

System_CAPS_pubclassExpressionVisitor

式ツリーのビジターまたはリライターを表します。

System_CAPS_pubclassGotoExpression

無条件ジャンプを表します。 これには、return ステートメント、break ステートメント、continue ステートメント、その他のジャンプが含まれます。

System_CAPS_pubclassIndexExpression

プロパティまたは配列のインデックス化を表します。

System_CAPS_pubclassInvocationExpression

引数式のリストにデリゲートまたはラムダ式を適用する式を表します。

System_CAPS_pubclassLabelExpression

ラベルを置くことができるいずれかで表します Expression コンテキスト。 対応するによって提供される値を取得してに急激に増えた場合、 GotoExpressionします。 それ以外の場合に値を受け取り DefaultValueします。 場合、 Type System.Void は、データ値を指定する必要はありません。

System_CAPS_pubclassLabelTarget

ターゲットを表すために使用する GotoExpressionです。

System_CAPS_pubclassLambdaExpression

ラムダ式を記述します。 これは、.NET メソッド本体に似たコードのブロックをキャプチャします。

System_CAPS_pubclassListInitExpression

コレクション初期化子を持つコンストラクター呼び出しを表します。

System_CAPS_pubclassLoopExpression

無限ループを表します。 これは、break を使用して抜けることができます。

System_CAPS_pubclassMemberAssignment

オブジェクトのフィールドまたはプロパティに対する代入演算を表します。

System_CAPS_pubclassMemberBinding

新しく作成されたオブジェクトに関して、そのメンバーを初期化するのに使用されるバインドを表すクラスの派生元となる基本クラスを提供します。

System_CAPS_pubclassMemberExpression

フィールドまたはプロパティへのアクセスを表します。

System_CAPS_pubclassMemberInitExpression

コンストラクターの呼び出しと、新しいオブジェクトのメンバーの初期化を表します。

System_CAPS_pubclassMemberListBinding

新しく作成されたオブジェクトのコレクション メンバーの要素の初期化を表します。

System_CAPS_pubclassMemberMemberBinding

新しく作成されたオブジェクトのメンバーの初期化メンバーを表します。

System_CAPS_pubclassMethodCallExpression

静的メソッドまたはインスタンス メソッドへの呼び出しを表します。

System_CAPS_pubclassNewArrayExpression

新しい配列の作成と、場合によっては新しい配列の要素の初期化を表します。

System_CAPS_pubclassNewExpression

コンストラクター呼び出しを表します。

System_CAPS_pubclassParameterExpression

名前付きパラメーター式を表します。

System_CAPS_pubclassRuntimeVariablesExpression

ランタイム変数の読み取り/書き込みアクセス許可を提供する式。

System_CAPS_pubclassSwitchCase

1 つの大文字と小文字を表す、 SwitchExpressionです。

System_CAPS_pubclassSwitchExpression

コントロールを渡すことで複数の項目を処理する制御式を表す SwitchCaseします。

System_CAPS_pubclassSymbolDocumentInfo

ソース ファイルのデバッグ シンボル情報を生成するのに必要な情報 (特にファイル名や一意の言語識別子) を格納します。

System_CAPS_pubclassTryExpression

try/catch/finally/fault ブロックを表します。

System_CAPS_pubclassTypeBinaryExpression

式と型の間の演算を表します。

System_CAPS_pubclassUnaryExpression

単項演算子を持つ式を表します。

インターフェイス説明
System_CAPS_pubinterfaceIArgumentProvider

複数のツリー ノード (DynamicExpression、ElementInit、MethodCallExpression、InvocationExpression、NewExpression および InexExpression) の引数にアクセスするための内部インターフェイスを提供します。 この API を使用しないでください。 これは、DLL リファクタリングのためパブリックでのみ使用でき、内部パフォーマンスの最適化のためだけに存在します。

これにより、2 つの最適化を図り、式ツリーのサイズを縮小できます。 最初の最適化により、ツリー ノードは ReadOnlyCollection の代わりに IList<T> に保持されます。 IList<T> は、各ノードの ReadOnlyCollection の割り当てコストを削減します。 2 つ目の最適化により、特定の数の引数 (Block2、Block3、Block4 など) に保持される特殊なサブクラスを作成します。 そのため、これらのノードは ReadOnlyCollection およびその要素を格納するための配列の両方の割り当てを回避します。その結果、各ノードにつき 32 バイト節約されます。

式ツリー ノードは引き続き、ReadOnlyCollections のオリジナル LINQ プロパティを公開します。 ノードは、配列または配列に通常格納される要素を格納するフィールドを再利用することにより、これを行います。

配列の場合、コレクションは ReadOnlyCollection<T> の代わりに IList<T> に型指定されます。 ノードは最初に配列として構築されます。 コンパイラがメンバーにアクセスするときに、このインターフェイスを使用します。 配列要素へアクセスすることにより、配列を ReadOnlyCollection に昇格させます。

オブジェクトの場合、オブジェクトに型指定されたフィールドに最初の引数を格納します。 ノードが最初に構築されるときに、フィールドは式を保持します。 コンパイラは、このインターフェイスから引数にアクセスし、最初の引数のアクセサーはExpression.ReturnObject を使用して、式または ReadOnlyCollection ケースを扱うオブジェクトを返します。 ユーザーが ReadOnlyCollection にアクセスするときに、ReadOnlyCollection に直接格納するためオブジェクト フィールドが更新されます。

式が一貫して同じ ReadOnlyCollection を返すことが重要です。 そうでなければ、リライター ツリー ウォーカーが解除されます。 LINQ v1 からの互換性に影響する変更点として、異なる ReadOnlyCollections が、同じ Expression ノードを形成します。 現在ユーザーは、オブジェクト ID を使用してノードが変更されたかどうかを確認できます。 ReadOnlyCollection をオーバー ロードされたフィールドに格納すると、メモリ使用を削減し、パブリック API の互換性を維持します。

System_CAPS_pubinterfaceIDynamicExpression

DynamicExpression ツリー ノードの引数にアクセスするための内部のインターフェイスに加え、CallSite および再書き込み機能も提供します。 この API を使用しないでください。 これは、DLL リファクタリングのためパブリックのみで、内部パフォーマンスの最適化のためだけに存在します。

列挙型説明
System_CAPS_pubenumExpressionType

式ツリー ノードのノード型を記述します。

System_CAPS_pubenumGotoExpressionKind

このジャンプの種類を指定 GotoExpression を表します。

System_CAPS_pubenumMemberBindingType

バインドの種類で使用されている MemberInitExpression オブジェクトです。

抽象クラス Expression モデル式ツリーを使用するクラス階層のルートを提供します。

この名前空間から派生するクラスは、 Expression, 、たとえば MemberExpressionParameterExpression, 、式ツリーでノードを表すために使用します。 Expression クラスに含まれる static (Shared Visual Basic で)、さまざまな種類のツリー ノード式を作成するファクトリ メソッド。

列挙型 ExpressionType 一意のノードの種類を指定します。

トップに戻る
表示: