MS.Internal.Xml.XPath.FunctionQuery.Evaluate C# (CSharp) Méthode

Evaluate() public méthode

public Evaluate ( XPathNodeIterator nodeIterator ) : object
nodeIterator System.Xml.XPath.XPathNodeIterator
Résultat object
        public override object Evaluate(XPathNodeIterator nodeIterator) {
			if (xsltContext == null) {
				throw XPathException.Create(Res.Xp_NoContext);
			}

            // calculate arguments:
            object[] argVals = new object[args.Count];
            for (int i = 0; i < args.Count; i ++) {
                argVals[i] = args[i].Evaluate(nodeIterator);
                if (argVals[i] is XPathNodeIterator) {
                    argVals[i] = new XPathSelectionIterator(nodeIterator.Current, args[i]);
                }
            }
            try {
                return ProcessResult(function.Invoke(xsltContext, argVals, nodeIterator.Current));
            } catch(Exception ex) {
                throw XPathException.Create(Res.Xp_FunctionFailed, QName, ex);
            }
        }