private OperatorRule(RuleType ruleType, OperatorRule otherRule, Type type1)
 {
     _type = ruleType;
     _type1 = type1;
     if (otherRule != null)
     {
         if (otherRule._type == RuleType.OneIs && _type == RuleType.Specific ||
             otherRule._type == RuleType.Specific && _type == RuleType.OneIs)
         {
             _type2 = otherRule._type1;
             _type = RuleType.Specific;
         }
     }
 }
 public static OperatorRule OtherIs(OperatorRule rule, Type type)
 {
     return new OperatorRule(RuleType.Specific, rule, type);
 }
 public static OperatorRule OneIs(OperatorRule rule, Type type)
 {
     return new OperatorRule(RuleType.OneIs, rule, type);
 }