Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Number() [3/3]

double MS.Internal.Xml.XPath.NumberFunctions.Number ( XPathNodeIterator nodeIterator)
inlineprivate

Definition at line 64 of file NumberFunctions.cs.

65 {
66 if (_arg == null)
67 {
68 return XmlConvert.ToXPathDouble(nodeIterator.Current.Value);
69 }
70 object obj = _arg.Evaluate(nodeIterator);
71 switch (GetXPathType(obj))
72 {
73 case XPathResultType.NodeSet:
74 {
76 if (xPathNavigator != null)
77 {
78 return Number(xPathNavigator.Value);
79 }
80 break;
81 }
82 case XPathResultType.String:
83 return Number((string)obj);
84 case XPathResultType.Boolean:
85 return Number((bool)obj);
86 case XPathResultType.Number:
87 return (double)obj;
88 case (XPathResultType)4:
89 return Number(((XPathNavigator)obj).Value);
90 }
91 return double.NaN;
92 }
object Evaluate(XPathNodeIterator nodeIterator)
XPathResultType GetXPathType(object value)
Definition Query.cs:147
XPathNavigator Advance()
static double ToXPathDouble(object o)

References MS.Internal.Xml.XPath.NumberFunctions._arg, MS.Internal.Xml.XPath.Query.Advance(), System.Xml.Dictionary, MS.Internal.Xml.XPath.Query.Evaluate(), MS.Internal.Xml.XPath.Query.GetXPathType(), System.Number, System.obj, and System.Xml.XmlConvert.ToXPathDouble().