Show / Hide Table of Contents

Namespace ZptSharp.Expressions.CSharpExpressions

Classes

AssemblyReference

Represents a request for C# expressions to reference an assembly by name.

AssemblyReferenceEvaluator

Evaluator for 'assemblyref' expressions, which get an assembly reference object. These will affect later C# expressions which are evaluated whilst this reference is 'in scope'.

CSharpEvaluationException

Thrown when a TALES csharp expression raises an exception during its evaluation.

CSharpExpressionEvaluator

An implementation of IEvaluatesExpression which evaluates TALES 'csharp' expressions.

ExpressionCache

Implementation of ICachesCSharpExpressions which uses a System.Runtime.Caching.MemoryCache as the backing store.

ExpressionCompiler

Implementation of ICreatesCSharpExpressions which uses the Roslyn Scripting API to create instances of CSharpExpression.

ExpressionDescription

Represents the identifing information and metadata for a C# expression. This serves both as a request to create an expression, but also as a unique identifying key for an expression.

ExpressionDescriptionFactory

Implementation of IGetsExpressionDescription which creates expression description objects.

GlobalExpressionConfigStore

A singleton object which holds the global configuration for C# expression evaluation.

ScriptBodyFactory

Implementation of IGetsScriptBody which returns a string suitable for compilation (by the Roslyn scripting API) to a C# script.

UsingNamespace

Represents a request for C# expressions to be evaluated in the context of the specified namespace, as if it were specified with a using keyword.

UsingNamespaceEvaluator

Evaluator for 'using' expressions, which get a .NET namespace name object. These will affect later C# expressions which are evaluated whilst this namespace is 'in scope'.

VariableType

Describes the type of a variable. When an object of this type is in-scope, it forces the ExpressionCompiler to treat the object as that specific type and not as dynamic. This is particularly important if you wish to use extension methods with that variable, because extension methods cannot be bound to dynamically-typed objects.

VariableTypeEvaluator

Evaluator for 'type' expressions, which inform the C# compiler of the type of a specified variable. This is mainly required for the use of extension methods, which cannot be bound when treating them as dynamic objects.

Interfaces

ICachesCSharpExpressions

An object which caches compiled CSharpExpression instances, based upon their identifiers.

IConfiguresCSharpExpressionGlobals

An object which may be used to configure the way in which C# expressions work. This includes adding global assembly references and/or 'using' namespaces.

ICreatesCSharpExpressions

An object which compiles and returns CSharpExpression instances, based upon their identifying information.

IGetsExpressionDescription

An object which gets an expression description from an expression body and a collection of all of the TALES variables which are in-scope.

IGetsScriptBody

An object which gets the body of a C# expression to be compiled.

Delegates

CSharpExpression

A compiled C# expression is a delegate which accepts a dictionary of named variables that are in-scope and returns an object.

In This Article
Back to top Generated by DocFX