C# 选择默认规则

C# 选择默认规则,c#,dsl,rule-engine,C#,Dsl,Rule Engine,我正在努力找到我想要实现的目标的名字。我们需要构建一个具有某种回退或故障转移逻辑的规则引擎 当请求为JP时,应选择第一条规则;对于任何其他国家,它都应该选择第二个。我不想为我们将要处理的所有国家设置条目,因此使用“*” 这叫什么?这是如何在C#中构建的 谢谢, Arun我猜您正在寻找一种C语言的规则引擎实现风格# 一个解决方案是使用图书馆 您可以轻松创建所需的任何规则 public class DiscountNotificationRule : Rule { public overr

我正在努力找到我想要实现的目标的名字。我们需要构建一个具有某种回退或故障转移逻辑的规则引擎

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

这叫什么?这是如何在C#中构建的

谢谢,
Arun

我猜您正在寻找一种C语言的规则引擎实现风格#

一个解决方案是使用图书馆

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

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());
    }
}
公共类折扣通知规则:规则
{
公共覆盖无效定义()
{
客户=空;
当()
.Match(()=>客户)
.存在(o=>o.Customer==Customer,o=>o.Percent折扣>0.0);
然后()
.Do(=>customer.notifyAboutDiscovery());
}
}

更多信息请参见库的入门页面。

我猜您正在寻找一种C语言的规则引擎实现风格#

一个解决方案是使用图书馆

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

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());
    }
}
公共类折扣通知规则:规则
{
公共覆盖无效定义()
{
客户=空;
当()
.Match(()=>客户)
.存在(o=>o.Customer==Customer,o=>o.Percent折扣>0.0);
然后()
.Do(=>customer.notifyAboutDiscovery());
}
}
库的“入门”页面中的其他信息