Expression Class

Base class for all expressions (literals, operators, method calls, etc.).

public abstract class Expression : CodeObject, ICommentable

Example

Expression expr1 = new LiteralExpression(42);
Expression expr2 = new BinaryExpression(BinaryOperator.Add, expr1, 10);
Expression expr3 = new MethodInvokeExpression(new MemberReferenceExpression(typeof(Console), "WriteLine"), expr2);

Assert.Equal("global::System.Console.WriteLine((42 + 10))", expr3.ToCsharpString());
Inheritance
CodeObject Expression
Implements

Constructors

NameDescription
Expression()

Expression()

Expression.cs
protected Expression()

No documentation is available.

Properties

NameDescription
CommentsAfter
CommentsBefore

CommentsAfter

Expression.cs
public CommentCollection CommentsAfter { get; }

Property value

CommentCollection

No documentation is available.

CommentsBefore

Expression.cs
public CommentCollection CommentsBefore { get; }

Property value

CommentCollection

No documentation is available.

Methods

NameDescription
Add(Expression, Expression, Expression[])
And(Expression, Expression, Expression[])
EqualsNull(Expression)
False()Creates a false literal expression.
IsNullOrEmpty(Expression)
IsNullOrWhitespace(Expression)
Member(Type, string, string[])Creates a member reference expression for a static member.
NotEqualsNull(Expression)
Null()Creates a null literal expression.
Or(Expression, Expression, Expression[])
ReferenceEqualsNull(Expression)
True()Creates a true literal expression.

Add(Expression, Expression, Expression[])

Expression.cs
public static BinaryExpression Add(Expression expr1, Expression expr2, params Expression[] expressions)

Parameters

expr1 Expression
expr2 Expression
expressions Expression[]

Returns

BinaryExpression

No documentation is available.

And(Expression, Expression, Expression[])

Expression.cs
public static BinaryExpression And(Expression expr1, Expression expr2, params Expression[] expressions)

Parameters

expr1 Expression
expr2 Expression
expressions Expression[]

Returns

BinaryExpression

No documentation is available.

EqualsNull(Expression)

Expression.cs
public static BinaryExpression EqualsNull(Expression expr)

Parameters

expr Expression

Returns

BinaryExpression

No documentation is available.

Creates a false literal expression.

public static LiteralExpression False()

IsNullOrEmpty(Expression)

Expression.cs
public static MethodInvokeExpression IsNullOrEmpty(Expression expression)

Parameters

expression Expression

Returns

MethodInvokeExpression

No documentation is available.

IsNullOrWhitespace(Expression)

Expression.cs
public static MethodInvokeExpression IsNullOrWhitespace(Expression expression)

Parameters

expression Expression

Returns

MethodInvokeExpression

No documentation is available.

Member(Type, string, string[])

Expression.cs

Creates a member reference expression for a static member.

public static MemberReferenceExpression Member(Type type, string name, params string[] names)

Parameters

type Type
The type containing the member.
name string
The member name.
names string[]
Additional nested member names.

Returns

MemberReferenceExpression

NotEqualsNull(Expression)

Expression.cs
public static BinaryExpression NotEqualsNull(Expression expr)

Parameters

expr Expression

Returns

BinaryExpression

No documentation is available.

Creates a null literal expression.

public static LiteralExpression Null()

Or(Expression, Expression, Expression[])

Expression.cs
public static BinaryExpression Or(Expression expr1, Expression expr2, params Expression[] expressions)

Parameters

expr1 Expression
expr2 Expression
expressions Expression[]

Returns

BinaryExpression

No documentation is available.

ReferenceEqualsNull(Expression)

Expression.cs
public static BinaryExpression ReferenceEqualsNull(Expression expression)

Parameters

expression Expression

Returns

BinaryExpression

No documentation is available.

Creates a true literal expression.

public static LiteralExpression True()

Operators

NameDescription
implicit operator Expression(MemberDeclaration)
implicit operator Expression?(MethodArgumentDeclaration?)
implicit operator Expression(TypeReference)
implicit operator Expression?(VariableDeclarationStatement?)
implicit operator Expression(bool)
implicit operator Expression(byte)
implicit operator Expression(decimal)
implicit operator Expression(double)
implicit operator Expression(Enum)
implicit operator Expression(short)
implicit operator Expression(int)
implicit operator Expression(long)
implicit operator Expression(sbyte)
implicit operator Expression(float)
implicit operator Expression(string)
implicit operator Expression(ushort)
implicit operator Expression(uint)
implicit operator Expression(ulong)

op_Implicit overloads

implicit operator Expression(MemberDeclaration)

Expression.cs
public static implicit operator Expression(MemberDeclaration memberDeclaration)
Parameters
memberDeclaration MemberDeclaration
Returns

Expression

No documentation is available.

implicit operator Expression?(MethodArgumentDeclaration?)

Expression.cs
public static implicit operator Expression?(MethodArgumentDeclaration? argument)
Parameters
argument MethodArgumentDeclaration?
Returns

Expression?

No documentation is available.

implicit operator Expression(TypeReference)

Expression.cs
public static implicit operator Expression(TypeReference typeReference)
Parameters
typeReference TypeReference
Returns

Expression

No documentation is available.

implicit operator Expression?(VariableDeclarationStatement?)

Expression.cs
public static implicit operator Expression?(VariableDeclarationStatement? variableDeclarationStatement)
Parameters
variableDeclarationStatement VariableDeclarationStatement?
Returns

Expression?

No documentation is available.

implicit operator Expression(bool)

Expression.cs
public static implicit operator Expression(bool value)
Parameters
value bool
Returns

Expression

No documentation is available.

implicit operator Expression(byte)

Expression.cs
public static implicit operator Expression(byte value)
Parameters
value byte
Returns

Expression

No documentation is available.

implicit operator Expression(decimal)

Expression.cs
public static implicit operator Expression(decimal value)
Parameters
value decimal
Returns

Expression

No documentation is available.

implicit operator Expression(double)

Expression.cs
public static implicit operator Expression(double value)
Parameters
value double
Returns

Expression

No documentation is available.

implicit operator Expression(Enum)

Expression.cs
public static implicit operator Expression(Enum value)
Parameters
value Enum
Returns

Expression

No documentation is available.

implicit operator Expression(short)

Expression.cs
public static implicit operator Expression(short value)
Parameters
value short
Returns

Expression

No documentation is available.

implicit operator Expression(int)

Expression.cs
public static implicit operator Expression(int value)
Parameters
value int
Returns

Expression

No documentation is available.

implicit operator Expression(long)

Expression.cs
public static implicit operator Expression(long value)
Parameters
value long
Returns

Expression

No documentation is available.

implicit operator Expression(sbyte)

Expression.cs
public static implicit operator Expression(sbyte value)
Parameters
value sbyte
Returns

Expression

No documentation is available.

implicit operator Expression(float)

Expression.cs
public static implicit operator Expression(float value)
Parameters
value float
Returns

Expression

No documentation is available.

implicit operator Expression(string)

Expression.cs
public static implicit operator Expression(string value)
Parameters
value string
Returns

Expression

No documentation is available.

implicit operator Expression(ushort)

Expression.cs
public static implicit operator Expression(ushort value)
Parameters
value ushort
Returns

Expression

No documentation is available.

implicit operator Expression(uint)

Expression.cs
public static implicit operator Expression(uint value)
Parameters
value uint
Returns

Expression

No documentation is available.

implicit operator Expression(ulong)

Expression.cs
public static implicit operator Expression(ulong value)
Parameters
value ulong
Returns

Expression

No documentation is available.