Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
 /// <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;
 }