/// <summary> /// Invokes named rule specified by rule path. /// </summary> /// <typeparam name="T">Result type</typeparam> /// <param name="rulePath">Path of the named rule</param> /// <param name="arguments">Arguments required by the named rule</param> /// <returns>Execution result, or default(T) if the rule does not exist</returns> public T InvokeNamedRule <T>(string rulePath, Dictionary <string, object> arguments) { string rulePointPath; string ruleName; if (RulePathHelper.ExtractNamedRulePath(rulePath, out rulePointPath, out ruleName)) { return(InvokeNamedRule <T>(rulePointPath, ruleName, arguments)); } else { return(default(T)); } }
/// <summary> /// Gets a named rule by a given path. /// </summary> /// <param name="rulePath">The path of the named rule you want to get</param> /// <returns>The named rule if it exists; otherwise, null.</returns> public NamedRule GetNamedRule(string rulePath) { if (String.IsNullOrEmpty(rulePath)) { throw new ArgumentNullException("rulePath"); // NOXLATE } string rulePointPath; string ruleName; if (RulePathHelper.ExtractNamedRulePath(rulePath, out rulePointPath, out ruleName)) { RulePoint theRulePoint = GetRulePoint(rulePointPath); if (theRulePoint != null) { return(theRulePoint.GetNamedRule(ruleName)); } } return(null); }