Is it posible to compile a rule passing two different objects?

Mar 7, 2017 at 9:44 PM
Edited Mar 7, 2017 at 9:47 PM
I'm trying to generate a combined rule that takes values from two different objects:
            var rule1 = new EqualityRule("EmpName", EqualityOperationEnum.Equal, "Adolfo");
            var rule2 = new EqualityRule("Rate*Amount", EqualityOperationEnum.GreaterThan, "100");
            var rule3 = new BitWiseRule(rule1, BitWiseOperationEnum.And, rule2);

            var employee = new Employee() {EmpName = "Adolfo"};
            var empDeductions = new EmpDeduction() {Amount = 100, Rate = 2};

            string ruleText;
            //Here I want to pass Employee and EmpDeduction objects, but can only pass one type at a time (Employee in this case)
            var compiledRule = rule3.CompileRule<Employee>(out ruleText);
However, the CompileRule method seems to only take one type at a time. In my case I have two classes:
    public class EmpDeduction
        public decimal Rate { get; set; }
        public decimal Amount { get; set; }

    public class Employee
        public string EmpName { get; set; }
Is it possible to use more than one object type to compile a rule? Or should I create one rule with one object and other rules with other separately?