public static NodeSelectorFactory Create(RuntimeConfigurator configurator, NodeSelectorFactory factory, PropertyInfo propertyInfo) { Type type = typeof(PropertyNodeSelectorFactory <>).MakeGenericType(propertyInfo.PropertyType); return((NodeSelectorFactory)Activator.CreateInstance(type, configurator, factory, propertyInfo)); }
public static PropertyExpressionVisitor Create(Type type, RuntimeConfigurator configurator, NodeSelectorFactory nodeSelectorFactory) { Type visitorType = typeof(PropertyExpressionVisitor <>).MakeGenericType(type); return((PropertyExpressionVisitor)Activator.CreateInstance(visitorType, configurator, nodeSelectorFactory)); }
public static NodeSelectorFactory Create(RuntimeConfigurator configurator, NodeSelectorFactory factory, PropertyInfo propertyInfo) { Type type = typeof(PropertyNodeSelectorFactory<>).MakeGenericType(propertyInfo.PropertyType); return (NodeSelectorFactory)Activator.CreateInstance(type, configurator, factory, propertyInfo); }
public NotEqualNodeSelectorFactory(NodeSelectorFactory nextFactory, RuntimeConfigurator configurator, TValue value) { _nextFactory = nextFactory; _value = value; _configurator = configurator; }
public static PropertyExpressionVisitor Create(Type type, RuntimeConfigurator configurator, NodeSelectorFactory nodeSelectorFactory) { Type visitorType = typeof(PropertyExpressionVisitor<>).MakeGenericType(type); return (PropertyExpressionVisitor)Activator.CreateInstance(visitorType, configurator, nodeSelectorFactory); }
void Compile <T, TProperty>(Expression <Func <T, TProperty> > propertyExpression, NodeSelectorFactory selectorFactory) where T : class { new PropertyExpressionVisitor <T>(_configurator, selectorFactory) .CreateSelector(propertyExpression.Body) .Select(); }
public CompareNodeSelectorFactory(NodeSelectorFactory nextFactory, RuntimeConfigurator configurator, Comparator <TValue, TValue> comparator, Value <TValue> value) { _nextFactory = nextFactory; _value = value; _configurator = configurator; _comparator = comparator; }
void Compile <T, TProperty>(Expression <Func <T, TProperty> > propertyExpression, Func <NodeSelectorFactory, NodeSelectorFactory> selectorConfigurator) where T : class { var conditionFactory = new ConditionAlphaNodeSelectorFactory(_configurator, node => _alphaNodes.Add(node)); var alphaFactory = new AlphaNodeSelectorFactory(conditionFactory, _configurator); NodeSelectorFactory factory = selectorConfigurator(alphaFactory); Compile(propertyExpression, factory); }
public static NodeSelector Create(RuntimeConfigurator configurator, Type tokenType, NodeSelectorFactory nextSelectorFactory, object value) { Type[] arguments = tokenType.GetGenericArguments(); if (!arguments[1].IsInstanceOfType(value)) throw new RuntimeConfigurationException("Value type does not match token type: " + value.GetType().GetTypeName()); Type type = typeof(EqualNodeSelector<,>) .MakeGenericType(arguments); var nodeSelector = (NodeSelector)Activator.CreateInstance(type, configurator, nextSelectorFactory, value); return nodeSelector; }
public static NodeSelector Create <T, TProperty>(RuntimeConfigurator configurator, NodeSelectorFactory nextSelectorFactory, PropertyInfo propertyInfo) { PropertySelector propertySelector = configurator.GetPropertySelector(propertyInfo); Type type = typeof(PropertyNodeSelector <, ,>) .MakeGenericType(typeof(T), propertySelector.PropertyType, propertySelector.ValueType); var nodeSelector = (NodeSelector) Activator.CreateInstance(type, configurator, nextSelectorFactory, propertyInfo, propertySelector); return(nodeSelector); }
public static NodeSelector Create(RuntimeConfigurator configurator, Type tokenType, NodeSelectorFactory nextSelectorFactory, object value) { Type[] arguments = tokenType.GetGenericArguments(); if (!arguments[1].IsInstanceOfType(value)) { throw new RuntimeConfigurationException("Value type does not match token type: " + value.GetType().GetTypeName()); } Type type = typeof(EqualNodeSelector <,>) .MakeGenericType(arguments); var nodeSelector = (NodeSelector)Activator.CreateInstance(type, configurator, nextSelectorFactory, value); return(nodeSelector); }
public static NodeSelector Create(RuntimeConfigurator configurator, NodeSelectorFactory nextSelectorFactory, PropertyInfo propertyInfo, params Type[] tokenTypes) { if (tokenTypes.Length != 2) { throw new NotImplementedException("Only handling two right now"); } PropertySelector propertySelector = configurator.GetPropertySelector(propertyInfo); Type type = typeof(PropertyNodeSelector <, , ,>) .MakeGenericType(tokenTypes[0], tokenTypes[1], propertySelector.PropertyType, propertySelector.ValueType); var nodeSelector = (NodeSelector) Activator.CreateInstance(type, configurator, nextSelectorFactory, propertyInfo, propertySelector); return(nodeSelector); }
public PropertyNodeSelectorFactory(NodeSelectorFactory nextFactory, RuntimeConfigurator configurator, PropertyInfo propertyInfo) { _nextFactory = nextFactory; _configurator = configurator; _propertyInfo = propertyInfo; }
protected PropertyExpressionVisitor Create(Type type, NodeSelectorFactory nodeSelectorFactory) { Type visitorType = typeof(PropertyExpressionVisitor <>).MakeGenericType(type); return((PropertyExpressionVisitor)Activator.CreateInstance(visitorType, Configurator, nodeSelectorFactory)); }
protected PropertyExpressionVisitor Create(Type type, NodeSelectorFactory nodeSelectorFactory) { Type visitorType = typeof(PropertyExpressionVisitor<>).MakeGenericType(type); return (PropertyExpressionVisitor)Activator.CreateInstance(visitorType, Configurator, nodeSelectorFactory); }
public EachNodeSelectorFactory(NodeSelectorFactory nextFactory, RuntimeConfigurator configurator) { _nextFactory = nextFactory; _configurator = configurator; }
public ListNodeSelectorFactory(NodeSelectorFactory nextFactory, int index) { _nextFactory = nextFactory; _index = index; }