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

  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • Numberphile

    Numberphile

    15 EYLÜL 2011