SORU
25 EYLÜL 2008, PERŞEMBE


Kullanarak Özel Statik Yöntemler avantajları

Herhangi bir örnek alanların kullanımı gerektirmeyen genellikle kod tekrarını azaltmak için iç özel yöntemleri olan bir sınıf oluştururken, statik olarak yöntemi bildirmek için performans veya bellek avantajı var mı?

Örnek:

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;
}

Orada GetİnnerXml bildirmek için herhangi bir avantaj() yöntemleri gibi statik? Hiçbir görüş yanıtları lütfen, bir fikrim var.

CEVAP
25 EYLÜL 2008, PERŞEMBE


Bu konuda: FxCop rule page

Yöntemleri gibi statik işaretledikten sonra, derleyici bu üyeler için sanal olmayan ekipler çıkarır. Sanal olmayan arama siteleri yayan geçerli nesne işaretçisi null sağlayan da her çağrı için çalışma zamanında bir kontrol önleyecektir. Bu performans-hassas kod için ölçülebilir bir performans artışı neden olabilir. Bazı durumlarda, geçerli bir nesne kopyasını erişmek için başarısızlık doğruluğu bir sorunu temsil eder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • michal lelkowski

    michal lelko

    9 Temmuz 2006
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006