Czy podczas tworzenia klasy z wewnętrznymi metodami prywatnymi, zwykle w celu ograniczenia duplikacji kodu, które nie wymagają użycia pól instancji, istnieją zalety związane z wydajnością lub pamięcią w przypadku deklarowania metody jako statycznej?
Przykład:
foreach (XmlElement element in xmlDoc.DocumentElement.SelectNodes("sample"))
{
string first = GetInnerXml(element, ".//first");
string second = GetInnerXml(element, ".//second");
string third = GetInnerXml(element, ".//third");
}
...
private static string GetInnerXml(XmlElement element, string nodeName)
{
return GetInnerXml(element, nodeName, null);
}
private static string GetInnerXml(XmlElement element, string nodeName, string defaultValue)
{
XmlNode node = element.SelectSingleNode(nodeName);
return node == null ? defaultValue : node.InnerXml;
}
Czy istnieje korzyść z deklarowania metod GetInnerXml () jako statycznych? Proszę o brak opinii, mam opinię.