C# Class System.Linq.Dynamic.ExtendedExpressionParser

Inheritance: ExpressionParser
显示文件 Open project: TargetProcess/Target-Process-Plugins

Public Methods

Method Description
ExtendedExpressionParser ( IReadOnlyList parameters, string expression, object values, [ allowedExtensionMethods, [ surrogateGenerator, Type>.[ knownTypes, Maybe baseTypeForNewClass ) : System.Collections.Generic

Protected Methods

Method Description
GenerateDynamicClassType ( IReadOnlyList properties ) : Type
GenerateMethodCall ( Type type, Expression instance, int errorPos, string id, Lazy argumentList ) : Maybe
TryParseMemberAccess ( Type type, Expression instance, TokenId nextToken, int errorPos, string name ) : Try

Private Methods

Method Description
ExtensionMethod ( Expression instance, string methodName, Lazy args, int errorPos, bool prefixed ) : Maybe
GenerateMethodCallImpl ( Type type, Expression instance, int errorPos, string id, Lazy argumentList ) : Maybe
ParseAs ( Expression instance ) : Expression
PropagateToNullMethod ( Type type, Expression instance, int errorPos, string id, Lazy argumentList ) : Maybe

Convert Foo(a,b,c)=>(a!=null && b!=null)?Foo(a.Value,b.Value):null;

SurrogateExpression ( Expression instance, string name ) : Maybe

Method Details

ExtendedExpressionParser() public method

public ExtendedExpressionParser ( IReadOnlyList parameters, string expression, object values, [ allowedExtensionMethods, [ surrogateGenerator, Type>.[ knownTypes, Maybe baseTypeForNewClass ) : System.Collections.Generic
parameters IReadOnlyList
expression string
values object
allowedExtensionMethods [
surrogateGenerator [
knownTypes Type>.[
baseTypeForNewClass Maybe
return System.Collections.Generic

GenerateDynamicClassType() protected method

protected GenerateDynamicClassType ( IReadOnlyList properties ) : Type
properties IReadOnlyList
return Type

GenerateMethodCall() protected method

protected GenerateMethodCall ( Type type, Expression instance, int errorPos, string id, Lazy argumentList ) : Maybe
type Type
instance System.Linq.Expressions.Expression
errorPos int
id string
argumentList Lazy
return Maybe

TryParseMemberAccess() protected method

protected TryParseMemberAccess ( Type type, Expression instance, TokenId nextToken, int errorPos, string name ) : Try
type Type
instance System.Linq.Expressions.Expression
nextToken TokenId
errorPos int
name string
return Try