0

我们在用 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”类型。

关于可能出现问题的任何想法?

4

1 回答 1

0

这可能有很多原因。例如类加载问题。它可能是 IKVM 中的一个错误。等等

我认为您不会在这里收到有用的答案。您应该联系 IKVM 的邮件列表,提供许多详细信息,例如 IKVM 版本、您如何编译 dll、一个可运行的示例来演示问题。

这个问题只有调试才能解决。

于 2010-11-17T19:47:57.927 回答