本文整理汇总了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);
}
}