CodeQL library for C#
codeql/csharp-all 2.0.1-dev (changelog, source)
Search

Module Dynamic

Provides all dynamic expression classes.

All dynamic expressions have the common base class DynamicExpr.

Import path

import semmle.code.csharp.exprs.Dynamic

Imports

Expr

Provides all expression classes.

Classes

DynamicAccess

An access where the qualifier is a dynamic expression. Either a dynamic member access (DynamicMemberAccess) or a dynamic element access (DynamicElementAccess).

DynamicAccessorCall

A call to an accessor where the qualifier is a dynamic expression, for example d.X on line 20 and d[0] on line 25 in

DynamicElementAccess

An element access where the qualifier is a dynamic expression, for example d[0] on line 12 in

DynamicElementRead

An access to a dynamic element that reads the underlying value, for example d[0] on line 12 in

DynamicElementWrite

An access to a dynamic element that updates the underlying value, for example d[0] on line 12 in

DynamicExpr

An expression involving one or more dynamic sub expressions. Either a dynamic constructor call (DynamicObjectCreation), a dynamic method call (DynamicMethodCall), a dynamic operator call (DynamicOperatorCall), a dynamic member access (DynamicMemberAccess), a dynamic accessor call (DynamicAccessorCall), or a dynamic element access (DynamicElementAccess).

DynamicMember

A possible target of a dynamic member access (DynamicMemberAccess). Either a field (Field), a property (Property), or an event (Event).

DynamicMemberAccess

A member access where the qualifier is a dynamic expression, for example d.X on line 24 in

DynamicMemberRead

An access to a dynamic member that reads the underlying value, for example d.X on line 16 in

DynamicMemberWrite

An access to a dynamic member that updates the underlying value, for example d.X on line 16 in

DynamicMethodCall

A method call where the qualifier or one of the arguments is a dynamic expression, for example M(d) on line 8 in

DynamicMutatorOperatorCall

A call to a user-defined mutator operator where the operand is a dynamic expression, for example d++ on line 20 in

DynamicObjectCreation

A constructor call where one of the arguments is a dynamic expression, for example new A(d) on line 8 in

DynamicOperatorCall

A call to a user-defined operator where one of the operands is a dynamic expression, for example this + d on line 12 in