当前位置: 首页>>代码示例>>C#>>正文


C# IRule.getBinding方法代码示例

本文整理汇总了C#中IRule.getBinding方法的典型用法代码示例。如果您正苦于以下问题:C# IRule.getBinding方法的具体用法?C# IRule.getBinding怎么用?C# IRule.getBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IRule的用法示例。


在下文中一共展示了IRule.getBinding方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: configure

 /// <summary> Configure will lookup the function and set it
 /// </summary>
 public virtual void configure(Rete.Rete engine, IRule util)
 {
     if (functionName != null && engine.findFunction(functionName) != null)
     {
         faction = engine.findFunction(functionName);
     }
     // now setup the BoundParameters if there are any
     for (int idx = 0; idx < parameters.Length; idx++)
     {
         if (parameters[idx] is BoundParam)
         {
             BoundParam bp = (BoundParam) parameters[idx];
             Binding bd = util.getBinding(bp.VariableName);
             if (bd != null)
             {
                 bp.Row = bd.LeftRow;
                 bp.Column = bd.LeftIndex;
             }
         }
         else if (parameters[idx] is FunctionParam2)
         {
             FunctionParam2 fp2 = (FunctionParam2) parameters[idx];
             fp2.configure(engine, util);
         }
         else if (parameters[idx] is ValueParam)
         {
             ValueParam vp = (ValueParam) parameters[idx];
             // if the value is a deffact, we need to check and make sure
             // the slots with BoundParam value are compiled properly
             if (vp.Value is Deffact)
             {
                 ((Deffact) vp.Value).compileBinding(util);
             }
         }
     }
     // in the case of Assert, we do further compilation
     if (faction is AssertFunction)
     {
         Deftemplate tmpl = (Deftemplate) engine.CurrentFocus.getTemplate(parameters[0].StringValue);
         Deffact fact = (Deffact) tmpl.createFact((Object[]) parameters[1].Value, - 1);
         fact.compileBinding(util);
         parameters = new ValueParam[1];
         parameters[0] = new ValueParam(Constants.OBJECT_TYPE, fact);
     }
 }
开发者ID:,项目名称:,代码行数:47,代码来源:


注:本文中的IRule.getBinding方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。