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.