Click or drag to resize

ScopeHandlerBase Class

Base class for scope handlers. Scope handlers are dispatch endpoints for expression handling inside a scope, e.g. inside an expression handler routine. As C# doesn't support multiple dynamic dispatch, the expression call the handler themselves which is the foundation of the visitor pattern. As the .NET expression classes don't have a Handle routine, a big switch/case statement is present to overcome this problem. This class contains no real logic, it just dispatches the call to Handle to the right routine which is then overriden in a subclass.
Inheritance Hierarchy
SystemObject
  SD.LLBLGen.Pro.LinqSupportClasses.ScopeHandlersScopeHandlerBase

Namespace:  SD.LLBLGen.Pro.LinqSupportClasses.ScopeHandlers
Assembly:  SD.LLBLGen.Pro.ORMSupportClasses (in SD.LLBLGen.Pro.ORMSupportClasses.dll) Version: 5.4.0.0 (5.4.0)
Syntax
public abstract class ScopeHandlerBase

The ScopeHandlerBase type exposes the following members.

Constructors
  NameDescription
Protected methodScopeHandlerBase
Initializes a new instance of the ScopeHandlerBase class
Top
Methods
  NameDescription
Protected methodDefaultHandler
The default handler for a linq expression if there's no handler available.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHandle(BinaryExpression)
Handles the specified expression to handle.
Public methodHandle(ConditionalExpression)
Handles the specified expression to handle.
Public methodHandle(ConstantExpression)
Handles the specified expression to handle.
Public methodHandle(Expression)
Handles the specified linq expression. This is done by 2-stage dispatch: it will call (if it's our own expression class) its Handle method which through polymorphism will call this handler object's Handle routine back with the right type, so it will call the right routine.
Public methodHandle(InvocationExpression)
Handles the specified expression to handle.
Public methodHandle(LambdaExpression)
Handles the specified expression to handle.
Public methodHandle(ListInitExpression)
Handles the specified expression to handle.
Public methodHandle(MemberExpression)
Handles the specified expression to handle.
Public methodHandle(MemberInitExpression)
Handles the specified expression to handle.
Public methodHandle(MethodCallExpression)
Handles the specified expression to handle.
Public methodHandle(NewArrayExpression)
Handles the specified expression to handle.
Public methodHandle(NewExpression)
Handles the specified expression to handle.
Public methodHandle(ParameterExpression)
Handles the specified expression to handle.
Public methodHandle(TypeBinaryExpression)
Handles the specified expression to handle.
Public methodHandle(UnaryExpression)
Handles the specified expression to handle.
Public methodHandle(AggregateExpression)
Handles the specified expression to handle.
Public methodHandle(AllAnyExpression)
Handles the specified expression to handle.
Public methodHandle(ContainsExpression)
Handles the specified expression to handle.
Public methodHandle(DbFunctionCallExpression)
Handles the specified expression to handle.
Public methodHandle(DefaultIfEmptyExpression)
Handles the specified expression to handle.
Public methodHandle(EntityExpression)
Handles the specified expression to handle.
Public methodHandle(EntityFieldExpression)
Handles the specified expression to handle.
Public methodHandle(ExceptIntersectExpression)
Handles the specified expression to handle.
Public methodHandle(ExcludeIncludeFieldsExpression)
Handles the specified expression to handle.
Public methodHandle(FilterExpression)
Handles the specified expression to handle.
Public methodHandle(GroupByExpression)
Handles the specified expression to handle.
Public methodHandle(GroupByKeyReferenceExpression)
Handles the specified expression to handle.
Public methodHandle(GroupJoinExpression)
Handles the specified expression to handle.
Public methodHandle(InClauseExpression)
Handles the specified expression to handle.
Public methodHandle(InMemoryEvalCandidateExpression)
Handles the specified expression to handle.
Public methodHandle(JoinExpression)
Handles the specified expression to handle.
Public methodHandle(JoinResultExpression)
Handles the specified expression to handle.
Public methodHandle(LikeExpression)
Handles the specified expression to handle.
Public methodHandle(LinqExpressionAsSetExpression)
Handles the specified expression to handle.
Public methodHandle(LLBLGenProExpressionExpression)
Handles the specified expression to handle.
Public methodHandle(PathEdgeExpression)
Handles the specified expression to handle.
Public methodHandle(PrefetchPathExpression)
Handles the specified expression to handle.
Public methodHandle(ProjectionExpression)
Handles the specified expression to handle.
Public methodHandle(ProjectionListExpression)
Handles the specified expression to handle.
Public methodHandle(QueryExpression)
Handles the specified expression to handle.
Public methodHandle(RelationCollectionExpression)
Handles the specified expression to handle.
Public methodHandle(SelectExpression)
Handles the specified expression to handle.
Public methodHandle(SetExpression)
Handles the specified expression to handle.
Public methodHandle(SetReferenceExpression)
Handles the specified expression to handle.
Public methodHandle(SortClauseExpression)
Handles the specified expression to handle.
Public methodHandle(WhereExpression)
Handles the specified expression to handle.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks
Class is primarly meant to be used to remove switch/case blocks in the expression handlers.
See Also