Show / Hide Table of Contents

Class CollectionAccessExpression

Represents access to the collection element using ItemIndexExpression.

Inheritance
object
Expression
CustomExpression
CollectionAccessExpression
Inherited Members
CustomExpression.NodeType
CustomExpression.CanReduce
Expression.Assign(Expression, Expression)
Expression.MakeBinary(ExpressionType, Expression, Expression)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo, LambdaExpression)
Expression.Equal(Expression, Expression)
Expression.Equal(Expression, Expression, bool, MethodInfo)
Expression.ReferenceEqual(Expression, Expression)
Expression.NotEqual(Expression, Expression)
Expression.NotEqual(Expression, Expression, bool, MethodInfo)
Expression.ReferenceNotEqual(Expression, Expression)
Expression.GreaterThan(Expression, Expression)
Expression.GreaterThan(Expression, Expression, bool, MethodInfo)
Expression.LessThan(Expression, Expression)
Expression.LessThan(Expression, Expression, bool, MethodInfo)
Expression.GreaterThanOrEqual(Expression, Expression)
Expression.GreaterThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.LessThanOrEqual(Expression, Expression)
Expression.LessThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.AndAlso(Expression, Expression)
Expression.AndAlso(Expression, Expression, MethodInfo)
Expression.OrElse(Expression, Expression)
Expression.OrElse(Expression, Expression, MethodInfo)
Expression.Coalesce(Expression, Expression)
Expression.Coalesce(Expression, Expression, LambdaExpression)
Expression.Add(Expression, Expression)
Expression.Add(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression)
Expression.AddAssign(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddAssignChecked(Expression, Expression)
Expression.AddAssignChecked(Expression, Expression, MethodInfo)
Expression.AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddChecked(Expression, Expression)
Expression.AddChecked(Expression, Expression, MethodInfo)
Expression.Subtract(Expression, Expression)
Expression.Subtract(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression)
Expression.SubtractAssign(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractAssignChecked(Expression, Expression)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractChecked(Expression, Expression)
Expression.SubtractChecked(Expression, Expression, MethodInfo)
Expression.Divide(Expression, Expression)
Expression.Divide(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression)
Expression.DivideAssign(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Modulo(Expression, Expression)
Expression.Modulo(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression)
Expression.ModuloAssign(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Multiply(Expression, Expression)
Expression.Multiply(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression)
Expression.MultiplyAssign(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyAssignChecked(Expression, Expression)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyChecked(Expression, Expression)
Expression.MultiplyChecked(Expression, Expression, MethodInfo)
Expression.LeftShift(Expression, Expression)
Expression.LeftShift(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.RightShift(Expression, Expression)
Expression.RightShift(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression)
Expression.RightShiftAssign(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.And(Expression, Expression)
Expression.And(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression)
Expression.AndAssign(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Or(Expression, Expression)
Expression.Or(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression)
Expression.OrAssign(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.ExclusiveOr(Expression, Expression)
Expression.ExclusiveOr(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Power(Expression, Expression)
Expression.Power(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression)
Expression.PowerAssign(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.ArrayIndex(Expression, Expression)
Expression.Block(Expression, Expression)
Expression.Block(Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression, Expression)
Expression.Block(params Expression[])
Expression.Block(IEnumerable<Expression>)
Expression.Block(Type, params Expression[])
Expression.Block(Type, IEnumerable<Expression>)
Expression.Block(IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(Type, IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Catch(Type, Expression)
Expression.Catch(ParameterExpression, Expression)
Expression.Catch(Type, Expression, Expression)
Expression.Catch(ParameterExpression, Expression, Expression)
Expression.MakeCatchBlock(Type, ParameterExpression, Expression, Expression)
Expression.Condition(Expression, Expression, Expression)
Expression.Condition(Expression, Expression, Expression, Type)
Expression.IfThen(Expression, Expression)
Expression.IfThenElse(Expression, Expression, Expression)
Expression.Constant(object)
Expression.Constant(object, Type)
Expression.DebugInfo(SymbolDocumentInfo, int, int, int, int)
Expression.ClearDebugInfo(SymbolDocumentInfo)
Expression.Empty()
Expression.Default(Type)
Expression.ElementInit(MethodInfo, params Expression[])
Expression.ElementInit(MethodInfo, IEnumerable<Expression>)
Expression.ReduceAndCheck()
Expression.ReduceExtensions()
Expression.ToString()
Expression.Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)
Expression.Dynamic(CallSiteBinder, Type, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, params Expression[])
Expression.MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)
Expression.MakeDynamic(Type, CallSiteBinder, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, params Expression[])
Expression.Break(LabelTarget)
Expression.Break(LabelTarget, Expression)
Expression.Break(LabelTarget, Type)
Expression.Break(LabelTarget, Expression, Type)
Expression.Continue(LabelTarget)
Expression.Continue(LabelTarget, Type)
Expression.Return(LabelTarget)
Expression.Return(LabelTarget, Type)
Expression.Return(LabelTarget, Expression)
Expression.Return(LabelTarget, Expression, Type)
Expression.Goto(LabelTarget)
Expression.Goto(LabelTarget, Type)
Expression.Goto(LabelTarget, Expression)
Expression.Goto(LabelTarget, Expression, Type)
Expression.MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)
Expression.MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.ArrayAccess(Expression, params Expression[])
Expression.ArrayAccess(Expression, IEnumerable<Expression>)
Expression.Property(Expression, string, params Expression[])
Expression.Property(Expression, PropertyInfo, params Expression[])
Expression.Property(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.Invoke(Expression, params Expression[])
Expression.Invoke(Expression, IEnumerable<Expression>)
Expression.Label(LabelTarget)
Expression.Label(LabelTarget, Expression)
Expression.Label()
Expression.Label(string)
Expression.Label(Type)
Expression.Label(Type, string)
Expression.Lambda<TDelegate>(Expression, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, bool, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, params ParameterExpression[])
Expression.Lambda(Expression, bool, params ParameterExpression[])
Expression.Lambda(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, params ParameterExpression[])
Expression.Lambda(Type, Expression, bool, params ParameterExpression[])
Expression.Lambda(Type, Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.GetFuncType(params Type[])
Expression.TryGetFuncType(Type[], out Type)
Expression.GetActionType(params Type[])
Expression.TryGetActionType(Type[], out Type)
Expression.GetDelegateType(params Type[])
Expression.ListInit(NewExpression, params Expression[])
Expression.ListInit(NewExpression, IEnumerable<Expression>)
Expression.ListInit(NewExpression, MethodInfo, params Expression[])
Expression.ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)
Expression.ListInit(NewExpression, params ElementInit[])
Expression.ListInit(NewExpression, IEnumerable<ElementInit>)
Expression.Loop(Expression)
Expression.Loop(Expression, LabelTarget)
Expression.Loop(Expression, LabelTarget, LabelTarget)
Expression.Bind(MemberInfo, Expression)
Expression.Bind(MethodInfo, Expression)
Expression.Field(Expression, FieldInfo)
Expression.Field(Expression, string)
Expression.Field(Expression, Type, string)
Expression.Property(Expression, string)
Expression.Property(Expression, Type, string)
Expression.Property(Expression, PropertyInfo)
Expression.Property(Expression, MethodInfo)
Expression.PropertyOrField(Expression, string)
Expression.MakeMemberAccess(Expression, MemberInfo)
Expression.MemberInit(NewExpression, params MemberBinding[])
Expression.MemberInit(NewExpression, IEnumerable<MemberBinding>)
Expression.ListBind(MemberInfo, params ElementInit[])
Expression.ListBind(MemberInfo, IEnumerable<ElementInit>)
Expression.ListBind(MethodInfo, params ElementInit[])
Expression.ListBind(MethodInfo, IEnumerable<ElementInit>)
Expression.MemberBind(MemberInfo, params MemberBinding[])
Expression.MemberBind(MemberInfo, IEnumerable<MemberBinding>)
Expression.MemberBind(MethodInfo, params MemberBinding[])
Expression.MemberBind(MethodInfo, IEnumerable<MemberBinding>)
Expression.Call(MethodInfo, Expression)
Expression.Call(MethodInfo, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, params Expression[])
Expression.Call(MethodInfo, IEnumerable<Expression>)
Expression.Call(Expression, MethodInfo)
Expression.Call(Expression, MethodInfo, params Expression[])
Expression.Call(Expression, MethodInfo, Expression, Expression)
Expression.Call(Expression, MethodInfo, Expression, Expression, Expression)
Expression.Call(Expression, string, Type[], params Expression[])
Expression.Call(Type, string, Type[], params Expression[])
Expression.Call(Expression, MethodInfo, IEnumerable<Expression>)
Expression.ArrayIndex(Expression, params Expression[])
Expression.ArrayIndex(Expression, IEnumerable<Expression>)
Expression.NewArrayInit(Type, params Expression[])
Expression.NewArrayInit(Type, IEnumerable<Expression>)
Expression.NewArrayBounds(Type, params Expression[])
Expression.NewArrayBounds(Type, IEnumerable<Expression>)
Expression.New(ConstructorInfo)
Expression.New(ConstructorInfo, params Expression[])
Expression.New(ConstructorInfo, IEnumerable<Expression>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, params MemberInfo[])
Expression.New(Type)
Expression.Parameter(Type)
Expression.Variable(Type)
Expression.Parameter(Type, string)
Expression.Variable(Type, string)
Expression.RuntimeVariables(params ParameterExpression[])
Expression.RuntimeVariables(IEnumerable<ParameterExpression>)
Expression.SwitchCase(Expression, params Expression[])
Expression.SwitchCase(Expression, IEnumerable<Expression>)
Expression.Switch(Expression, params SwitchCase[])
Expression.Switch(Expression, Expression, params SwitchCase[])
Expression.Switch(Expression, Expression, MethodInfo, params SwitchCase[])
Expression.Switch(Type, Expression, Expression, MethodInfo, params SwitchCase[])
Expression.Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.SymbolDocument(string)
Expression.SymbolDocument(string, Guid)
Expression.SymbolDocument(string, Guid, Guid)
Expression.SymbolDocument(string, Guid, Guid, Guid)
Expression.TryFault(Expression, Expression)
Expression.TryFinally(Expression, Expression)
Expression.TryCatch(Expression, params CatchBlock[])
Expression.TryCatchFinally(Expression, Expression, params CatchBlock[])
Expression.MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)
Expression.TypeIs(Expression, Type)
Expression.TypeEqual(Expression, Type)
Expression.MakeUnary(ExpressionType, Expression, Type)
Expression.MakeUnary(ExpressionType, Expression, Type, MethodInfo)
Expression.Negate(Expression)
Expression.Negate(Expression, MethodInfo)
Expression.UnaryPlus(Expression)
Expression.UnaryPlus(Expression, MethodInfo)
Expression.NegateChecked(Expression)
Expression.NegateChecked(Expression, MethodInfo)
Expression.Not(Expression)
Expression.Not(Expression, MethodInfo)
Expression.IsFalse(Expression)
Expression.IsFalse(Expression, MethodInfo)
Expression.IsTrue(Expression)
Expression.IsTrue(Expression, MethodInfo)
Expression.OnesComplement(Expression)
Expression.OnesComplement(Expression, MethodInfo)
Expression.TypeAs(Expression, Type)
Expression.Unbox(Expression, Type)
Expression.Convert(Expression, Type)
Expression.Convert(Expression, Type, MethodInfo)
Expression.ConvertChecked(Expression, Type)
Expression.ConvertChecked(Expression, Type, MethodInfo)
Expression.ArrayLength(Expression)
Expression.Quote(Expression)
Expression.Rethrow()
Expression.Rethrow(Type)
Expression.Throw(Expression)
Expression.Throw(Expression, Type)
Expression.Increment(Expression)
Expression.Increment(Expression, MethodInfo)
Expression.Decrement(Expression)
Expression.Decrement(Expression, MethodInfo)
Expression.PreIncrementAssign(Expression)
Expression.PreIncrementAssign(Expression, MethodInfo)
Expression.PreDecrementAssign(Expression)
Expression.PreDecrementAssign(Expression, MethodInfo)
Expression.PostIncrementAssign(Expression)
Expression.PostIncrementAssign(Expression, MethodInfo)
Expression.PostDecrementAssign(Expression)
Expression.PostDecrementAssign(Expression, MethodInfo)
object.GetType()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.Linq.Expressions
Assembly: DotNext.Metaprogramming.dll
Syntax
public sealed class CollectionAccessExpression : CustomExpression

Constructors

View Source

CollectionAccessExpression(Expression, Expression)

Initializes a new collection access expression.

Declaration
public CollectionAccessExpression(Expression collection, Expression index)
Parameters
Type Name Description
Expression collection

The expression representing collection.

Expression index

The index of the element. Should be of type Index.

Exceptions
Type Condition
ArgumentException

collection doesn't provide implicit support of Index expression.

See Also
Ranges and Indices

Properties

View Source

Collection

Gets the collection.

Declaration
public Expression Collection { get; }
Property Value
Type Description
Expression

The collection.

View Source

Index

Gets the index of the collection element.

Declaration
public Expression Index { get; }
Property Value
Type Description
Expression

The index of the item.

View Source

Type

Gets result type of asynchronous operation.

Declaration
public override Type Type { get; }
Property Value
Type Description
Type
Overrides
Expression.Type

Methods

View Source

Reduce()

Translates this expression into predefined set of expressions using Lowering technique.

Declaration
public override Expression Reduce()
Returns
Type Description
Expression

Translated expression.

Overrides
CustomExpression.Reduce()
View Source

VisitChildren(ExpressionVisitor)

Visit children expressions.

Declaration
protected override CollectionAccessExpression VisitChildren(ExpressionVisitor visitor)
Parameters
Type Name Description
ExpressionVisitor visitor

Expression visitor.

Returns
Type Description
CollectionAccessExpression

Potentially modified expression if one of children expressions is modified during visit.

Overrides
Expression.VisitChildren(ExpressionVisitor)

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, params ReadOnlySpan<T>)
ExpressionBuilder.AndAlso(Expression, Expression)
ExpressionBuilder.AsDynamic(Expression?)
ExpressionBuilder.AsResult(Expression)
ExpressionBuilder.AsString(Expression)
ExpressionBuilder.Await(Expression, bool)
ExpressionBuilder.Call(Expression, MethodInfo, params Expression[])
ExpressionBuilder.Call(Expression, string, params Expression[])
ExpressionBuilder.Call(Expression, Type, string, params Expression[])
ExpressionBuilder.Concat(Expression, params Expression[])
ExpressionBuilder.Condition(Expression, Expression?, Expression?, Type?)
ExpressionBuilder.Condition<TResult>(Expression, Expression, Expression)
ExpressionBuilder.Convert(Expression, Type)
ExpressionBuilder.Convert<T>(Expression)
ExpressionBuilder.ElementAt(Expression, ItemIndexExpression)
ExpressionBuilder.ElementAt(Expression, params Expression[])
ExpressionBuilder.Equal(Expression, Expression)
ExpressionBuilder.Field(Expression, FieldInfo)
ExpressionBuilder.Field(Expression, string)
ExpressionBuilder.Finally(Expression, Expression)
ExpressionBuilder.For(Expression, ForExpression.LoopBuilder.Condition, ForExpression.LoopBuilder.Iteration, ForExpression.LoopBuilder.Statement)
ExpressionBuilder.ForEach(Expression, ForEachExpression.Statement)
ExpressionBuilder.IfNotNull(Expression, Func<ParameterExpression, Expression>)
ExpressionBuilder.Index(Expression, bool)
ExpressionBuilder.InstanceOf(Expression, Type)
ExpressionBuilder.InstanceOf<T>(Expression)
ExpressionBuilder.Invoke(Expression, params Expression[])
ExpressionBuilder.Lock(Expression, LockExpression.Statement)
ExpressionBuilder.Loop(Expression)
ExpressionBuilder.Loop(Expression, LabelTarget)
ExpressionBuilder.Loop(Expression, LabelTarget, LabelTarget)
ExpressionBuilder.New(Expression, params Expression[])
ExpressionBuilder.NotEqual(Expression, Expression)
ExpressionBuilder.OrElse(Expression, Expression)
ExpressionBuilder.Power(Expression, Expression)
ExpressionBuilder.Property(Expression, PropertyInfo)
ExpressionBuilder.Property(Expression, PropertyInfo, Expression, params Expression[])
ExpressionBuilder.Property(Expression, string)
ExpressionBuilder.Property(Expression, string, Expression, params Expression[])
ExpressionBuilder.Property(Expression, Type, string)
ExpressionBuilder.Property(Expression, Type, string, Expression, params Expression[])
ExpressionBuilder.Slice(Expression, ItemIndexExpression?, ItemIndexExpression?)
ExpressionBuilder.Slice(Expression, Expression)
ExpressionBuilder.Throw(Expression, Type?)
ExpressionBuilder.TryConvert(Expression, Type)
ExpressionBuilder.TryConvert<T>(Expression)
ExpressionBuilder.Unbox(Expression, Type)
ExpressionBuilder.Unbox<T>(Expression)
ExpressionBuilder.Until(Expression, WhileExpression.Statement)
ExpressionBuilder.Using(Expression, UsingExpression.Statement)
ExpressionBuilder.While(Expression, WhileExpression.Statement)
ExpressionBuilder.With(Expression, MemberBindings)
ExpressionBuilder.With(Expression, WithExpression.Statement)
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾