System.Xml.Xsl.XsltOld.XsltCompileContext.ResolveFunction C# (CSharp) Method

ResolveFunction() public method

public ResolveFunction ( string prefix, string name, XPathResultType argTypes ) : IXsltContextFunction
prefix string
name string
argTypes XPathResultType
return IXsltContextFunction
        public override IXsltContextFunction ResolveFunction(string prefix, string name, XPathResultType[] argTypes) {
            IXsltContextFunction func = null;
            if(prefix.Length == 0) {
                func = s_FunctionTable[name] as IXsltContextFunction;
            } else {
                string ns = this.LookupNamespace(prefix);
                if (ns == Keywords.s_MsXsltNamespace && name == f_NodeSet) {
                    func = s_FuncNodeSet;
                } else {
                    object     extension;
                    func = GetExtentionMethod(ns, name, argTypes, out extension);
                    if(extension == null) {
                        throw XsltException.Create(Res.Xslt_ScriptInvalidPrefix, prefix);
                    }
                }
            }
            if (func == null) {
                throw XsltException.Create(Res.Xslt_UnknownXsltFunction, name);
            }
            if (argTypes.Length < func.Minargs || func.Maxargs < argTypes.Length) {
               throw XsltException.Create(Res.Xslt_WrongNumberArgs, name, argTypes.Length.ToString(CultureInfo.InvariantCulture));
            }
            return func;
        }