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

  • Android Police

    Android Poli

    21 NİSAN 2010
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006