DynamicExpression DynamicExpression DynamicExpression DynamicExpression Class

定義

動的操作を表します。Represents a dynamic operation.

public ref class DynamicExpression : System::Linq::Expressions::Expression, System::Linq::Expressions::IDynamicExpression
public class DynamicExpression : System.Linq.Expressions.Expression, System.Linq.Expressions.IDynamicExpression
type DynamicExpression = class
    inherit Expression
    interface IDynamicExpression
    interface IArgumentProvider
Public Class DynamicExpression
Inherits Expression
Implements IDynamicExpression
継承
DynamicExpressionDynamicExpressionDynamicExpressionDynamicExpression
実装

プロパティ

Arguments Arguments Arguments Arguments

動的操作の引数を取得します。Gets the arguments to the dynamic operation.

Binder Binder Binder Binder

動的サイトの実行時の動作を決定する CallSiteBinder を取得します。Gets the CallSiteBinder, which determines the run-time behavior of the dynamic site.

CanReduce CanReduce CanReduce CanReduce

ノードをより単純なノードに変形できることを示します。Indicates that the node can be reduced to a simpler node. これが true を返す場合、Reduce() を呼び出して単純化された形式を生成できます。If this returns true, Reduce() can be called to produce the reduced form.

(Inherited from Expression)
DelegateType DelegateType DelegateType DelegateType

CallSite によって使用されるデリゲートの型を取得します。Gets the type of the delegate used by the CallSite.

NodeType NodeType NodeType NodeType

この式のノード型を返します。Returns the node type of this expression. 拡張ノードは、このメソッドをオーバーライドする際に Extension を返す必要があります。Extension nodes should return Extension when overriding this method.

Type Type Type Type

この Expression が表す式の静的な型を取得します。Gets the static type of the expression that this Expression represents.

メソッド

Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor) Accept(ExpressionVisitor)

このノード型の特定の Visit メソッドにデスパッチします。Dispatches to the specific visit method for this node type. たとえば、MethodCallExpressionVisitMethodCall(MethodCallExpression) を呼び出します。For example, MethodCallExpression calls the VisitMethodCall(MethodCallExpression).

Dynamic(CallSiteBinder, Type, Expression) Dynamic(CallSiteBinder, Type, Expression) Dynamic(CallSiteBinder, Type, Expression) Dynamic(CallSiteBinder, Type, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression) Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, Expression[]) Dynamic(CallSiteBinder, Type, Expression[]) Dynamic(CallSiteBinder, Type, Expression[]) Dynamic(CallSiteBinder, Type, Expression[])

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Dynamic(CallSiteBinder, Type, IEnumerable<Expression>) Dynamic(CallSiteBinder, Type, IEnumerable<Expression>) Dynamic(CallSiteBinder, Type, IEnumerable<Expression>) Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MakeDynamic(Type, CallSiteBinder, Expression) MakeDynamic(Type, CallSiteBinder, Expression) MakeDynamic(Type, CallSiteBinder, Expression) MakeDynamic(Type, CallSiteBinder, Expression)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and one argument.

MakeDynamic(Type, CallSiteBinder, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression)

指定された CallSiteBinder および 2 つの引数によってバインドされる動的操作を表す DynamicExpression を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and two arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)

指定された DynamicExpression および 3 つの引数によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and three arguments.

MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression) MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)

指定された DynamicExpression および 4 つの引数によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder and four arguments.

MakeDynamic(Type, CallSiteBinder, Expression[]) MakeDynamic(Type, CallSiteBinder, Expression[]) MakeDynamic(Type, CallSiteBinder, Expression[]) MakeDynamic(Type, CallSiteBinder, Expression[])

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>) MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>) MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>) MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)

指定された DynamicExpression によってバインドされる動的操作を表す CallSiteBinder を作成します。Creates a DynamicExpression that represents a dynamic operation bound by the provided CallSiteBinder.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Reduce() Reduce() Reduce() Reduce()

このノードをより単純な式に変形します。Reduces this node to a simpler expression. CanReduce が true を返す場合、これは有効な式を返します。If CanReduce returns true, this should return a valid expression. このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceAndCheck() ReduceAndCheck() ReduceAndCheck() ReduceAndCheck()

このノードをより単純な式に変形します。Reduces this node to a simpler expression. CanReduce が true を返す場合、これは有効な式を返します。If CanReduce returns true, this should return a valid expression. このメソッドは、それ自体も単純化する必要がある別のノードを返す場合があります。This method can return another node which itself must be reduced.

(Inherited from Expression)
ReduceExtensions() ReduceExtensions() ReduceExtensions() ReduceExtensions()

式を既知のノード型 (拡張ノードではない型) に単純化し、それが既に既知の型である場合は単に式を返します。Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type.

(Inherited from Expression)
ToString() ToString() ToString() ToString()

Expression のテキスト表現を返します。Returns a textual representation of the Expression.

(Inherited from Expression)
Update(IEnumerable<Expression>) Update(IEnumerable<Expression>) Update(IEnumerable<Expression>) Update(IEnumerable<Expression>)

パラメーター arguments に送信される値を、Arguments の現在のインスタンスの DynamicExpression プロパティと比較します。Compares the value sent to the parameter, arguments, to the Arguments property of the current instance of DynamicExpression. パラメーターとプロパティの値が等しければ、現在のインスタンスが返されます。If the values of the parameter and the property are equal, the current instance is returned. それらが等しくない場合は、新しい DynamicExpression インスタンスが返されます。そのインスタンスは現在のインスタンスと同一ですが、Arguments プロパティがパラメーター arguments の値に設定されている点が異なります。If they are not equal, a new DynamicExpression instance is returned that is identical to the current instance except that the Arguments property is set to the value of parameter arguments.

VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor) VisitChildren(ExpressionVisitor)

ノードを単純化し、単純化された式の visitor デリゲートを呼び出します。Reduces the node and then calls the visitor delegate on the reduced expression. ノードを単純化できない場合、このメソッドは例外をスローします。The method throws an exception if the node is not reducible.

(Inherited from Expression)

明示的なインターフェイスの実装

IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount IArgumentProvider.ArgumentCount

式ツリー ノードに引数の数を返します。Returns the number of arguments to the expression tree node. このメンバーを使用しないでください。You should not use this member. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32) IArgumentProvider.GetArgument(Int32)

インデックスの引数を返し、インデックスが範囲外にある場合にスローします。Returns the argument at index, throwing if index is out of bounds. このメンバーを使用しないでください。You should not use this member. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IDynamicExpression.CreateCallSite() IDynamicExpression.CreateCallSite() IDynamicExpression.CreateCallSite() IDynamicExpression.CreateCallSite()

必要に応じて、CallSite を作成し、DynamicExpression のポリモーフィック インライン キャッシュの CallSite を返します。Optionally creates the CallSite and returns the CallSite for the DynamicExpression's polymorphic inline cache. このメンバーを使用しないでください。You should not use this member. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations.

IDynamicExpression.Rewrite(Expression[]) IDynamicExpression.Rewrite(Expression[]) IDynamicExpression.Rewrite(Expression[]) IDynamicExpression.Rewrite(Expression[])

動的な式の引数を指定された値と置き換えて、このノードを書き換えます。Rewrite this node replacing the dynamic expression's arguments with the provided values. args の数は現在の式の数に一致する必要があります。The number of args needs to match the number of the current expression. この型は使用しないでください。You should not use this type. これは、アセンブリ リファクタリングのためパブリックのみで、パフォーマンスの最適化のために内部で使用されます。It is only public due to assembly refactoring, and it is used internally for performance optimizations. このヘルパー メソッドでは、呼び出しサイトで使用されている DynamicExpression から派生する特定の実装クラスに依存しないように、ノードを書き換えることがでます。This helper method allows re-writing of nodes to be independent of the specific implementation class deriving from DynamicExpression that is being used at the call site.

適用対象