选择默认规则

问题描述

我正在尝试找到要实现的名称。我们需要构建一个具有一些后备或故障转移逻辑的规则引擎。

DSL

当请求为JP时,应选择第一个规则;对于其他任何国家,它都应该选择第二个国家。我不想为我们将要处理的所有国家/地区输入条目,因此不要输入*。

这叫什么?这是如何在C#中内置的?

谢谢, 阿伦

解决方法

我猜您正在寻找一种针对C#的规则引擎实现

一种解决方案是使用NRules库。

您可以轻松创建所需的任何规则

public class DiscountNotificationRule : Rule
{
    public override void Define()
    {
        Customer customer = null;

        When()
            .Match<Customer>(() => customer)
            .Exists<Order>(o => o.Customer == customer,o => o.PercentDiscount > 0.0);

        Then()
            .Do(_ => customer.NotifyAboutDiscount());
    }
}

该库的入门页面中的其他信息。