Thursday, 5 September 2013

Ambiguous Method Names: Same method name and parameters different return value

Ambiguous Method Names: Same method name and parameters different return
value

I am getting the compile error
The call is ambiguous between the following methods or properties
getXmlNodeValue.
I have 3 methods all with the same name and parameters, these 3 methods do
however have 3 different return types (double, int and string). Is it
possible to have 3 methods with the same name and parameters but different
return types?
If not, what method would you suggest I use? Ie, just change the method
names to getXmlNodeText, getXmlNodeDouble, etc. or something else?
private static string getXmlNodeText(XmlNode node, string xPath,
XmlNamespaceManager nsmgr)
{
try
{
return node.SelectSingleNode(xPath, nsmgr).InnerText;
}
catch (Exception e)
{
return string.Empty;
}
}
public static string getXmlNodeValue(XmlNode node, string xPath,
XmlNamespaceManager nsmgr)
{
return getXmlNodeText(node, xPath, nsmgr);
}
public static double getXmlNodeValue(XmlNode node, string xPath,
XmlNamespaceManager nsmgr)
{
return Convert.ToDouble(getXmlNodeText(node, xPath, nsmgr));
}
public static int getXmlNodeValue(XmlNode node, string xPath,
XmlNamespaceManager nsmgr)
{
return Convert.ToInt32(getXmlNodeText(node, xPath, nsmgr));
}
// Usage problem:
string name = getXmlNodeValue(pitNode, "ns:name", nsmgr);

No comments:

Post a Comment