Bind.FuncProcessor.TranslateParameters C# (CSharp) Method

TranslateParameters() static private method

static private TranslateParameters ( XPathNavigator nav, Bind.Structures.Delegate d, EnumCollection enums ) : void
nav XPathNavigator
d Bind.Structures.Delegate
enums EnumCollection
return void
        static void TranslateParameters(XPathNavigator nav, Delegate d, EnumCollection enums)
        {
            var function_override = GetFuncOverride(nav, d);

            for (int i = 0; i < d.Parameters.Count; i++)
            {
                if (function_override != null)
                {
                    XPathNavigator param_override = function_override.SelectSingleNode(
                            String.Format("param[@name='{0}']", d.Parameters[i].RawName));
                    if (param_override != null)
                    {
                        foreach (XPathNavigator node in param_override.SelectChildren(XPathNodeType.Element))
                        {
                            switch (node.Name)
                            {
                                case "type":
                                    d.Parameters[i].CurrentType = (string)node.TypedValue;
                                    break;
                                case "name":
                                    d.Parameters[i].Name = (string)node.TypedValue;
                                    break;
                                case "flow":
                                    d.Parameters[i].Flow = Parameter.GetFlowDirection((string)node.TypedValue);
                                    break;
                            }
                        }
                    }
                }

                d.Parameters[i].Translate(nav, d.Category, enums);
                if (d.Parameters[i].CurrentType == "UInt16" && d.Name.Contains("LineStipple"))
                    d.Parameters[i].WrapperType = WrapperTypes.UncheckedParameter;
            }
        }