我们在用 C# 编写的客户端上使用 Drools 引擎。我们正在使用 IKVM 将 drools jar 和我们的 java bean 转换为使用 IKVM 的 dll。我们是类似这样的规则:-
rule "aggregate rule"
when
$b : Bill(billAmount > 100)
$n : Number(doubleValue > 100) from accumulate ( $l : LineItem() from $b.findItems("color", "blue"), sum($l.getSellingValue()))
then
VoucherSeries fact0 = new VoucherSeries();
fact0.setSeriesCode( "aggregate voucher" );
insert(fact0 );
voucherlist.add(fact0);
System.out.println("sum" + $n);
end
此规则在使用基于 java 的 drools API 运行时工作正常,但在使用 IKVM 转换的 drools 运行时,它会引发以下错误:-
无法将“AccumulateMemory”类型的对象转换为“FromMemory”类型。
关于可能出现问题的任何想法?