public static PropertyRule CustomPropertyRule(string propertyName, PropertyRuleOperator.DefaultOperator propertyOperator, string[] values) { Type type = typeof(PropertyRuleOperator); PropertyInfo info = type.GetProperty("DefaultOperators", BindingFlags.NonPublic | BindingFlags.Static); object value = info.GetValue(null); var DefaultOperators = (Dictionary <PropertyRuleOperator.DefaultOperator, PropertyRuleOperator>)value; PropertyRule rule = new PropertyRule(propertyName, DefaultOperators[propertyOperator]); rule.PropertyValues = new List <string>(values); return(rule); }
/// <summary> /// Create a new property rule /// </summary> /// <param name="managedPropertyName">Name</param> /// <param name="operator"></param> /// <param name="values"></param> /// <returns></returns> private static PropertyRule CreatePropertyRule(string managedPropertyName, PropertyRuleOperator.DefaultOperator @operator, string[] values) { Type type = typeof(PropertyRuleOperator); PropertyInfo info = type.GetProperty("DefaultOperators", BindingFlags.NonPublic | BindingFlags.Static); object value = info.GetValue(null); var defaultOperators = (Dictionary <PropertyRuleOperator.DefaultOperator, PropertyRuleOperator>)value; PropertyRule rule = new PropertyRule(managedPropertyName, defaultOperators[@operator]) { PropertyValues = new List <string>(values) }; return(rule); }
/// <summary> /// Initializes a new result type rule /// </summary> /// <param name="property">Managed property metadata</param> /// <param name="propertyOperator">The operator</param> /// <param name="values">The associated values</param> public ResultTypeRuleInfo(ManagedPropertyInfo property, PropertyRuleOperator.DefaultOperator propertyOperator, ICollection <string> values) { this.PropertyName = property.Name; this.Operator = propertyOperator; this.Values = values; }