SORU
23 NİSAN 2012, PAZARTESİ


Neden / ne zaman Olabilirdi geçersiz kılmak uygun olur mu?

C okuyorum# ve ToString geçersiz kılma noktası ve yararı örnekte gösterildiği gibi olabilir merak ediyorum.

Bu biraz daha basit bir şekilde, geçersiz kılma olmadan ortak bir yöntem kullanılarak yapılabilir?

public string GetToStringItemsHeadings
{
    get { return string.Format("{0,-20} {1, -20}", "Office Email", "Private Email"); }
}


public override string ToString()
{
    string strOut = string.Format("{0,-20} {1, -20}", m_work, m_personal);
    return strOut;
}

CEVAP
23 NİSAN 2012, PAZARTESİ


Sadece düz Framework Design Guidelines yanıt vereceğim .NET Geliştirme Serisi.

ÖNLEMEKToString bloklarından

DÜŞÜNÜNbenzersiz bir dize örneği ile ilişkili dönüyor.

DÜŞÜNÜNToString çıktısı olan bu tür herhangi bir ayrıştırma yöntemleri için geçerli bir giriş olacak.

YAPINToString gözlenebilen hiçbir yan etkisi yoktur emin olun.

YAPINsadece uygun bir izin talep sonra ToString geçersiz kılma ile güvenlik için önemli bilgiler rapor. Eğer izin talep başarısız olursa, bir dize güvenlik için önemli bilgiler hariç geri dönün.

Object.ToString yöntem genel görünüm ve hata ayıklama amacıyla kullanılır. Varsayılan uygulama yalnızca nesne türü adı sağlar. Varsayılan uygulama çok kullanışlı değildir, ve bu yöntem geçersiz olması önerilir.

YAPINokunabilir ilginç bir dize iade edilebilir olduğunda ToString geçersiz kılar. Varsayılan uygulama çok yararlı ve özel bir uygulama hemen hemen her zaman daha fazla değer sağlayabilir.

YAPINeşsiz değil ama okunabilir bir KİMLİK üzerinden kolay bir adı tercih eder.

Chris Satıyor ToString kullanıcı arayüzleri için genellikle tehlikeli olduğunu da kurallarda açıklar da belirtmekte yarar var. Başparmak genel kural benim için UI bilgileri bağlama için kullanılan bir özellik kullanır ve geliştirici için tanılama bilgilerini görüntüleme ToString geçersiz bırakmaktır. Ayrıca DebuggerDisplayAttribute ile tip olarak dekore edebilirsiniz.

YAPINstring ToString kısa döndü tutmaya çalışın. Hata ayıklayıcı ToString geliştirici için gösterilen bir nesnenin metinsel gösterimini elde etmek için kullanır. Eğer dize hata ayıklayıcı görüntüleme daha uzun ise, hata ayıklama deneyimini engellenmektedir.

YAPINdize biçimlendirme kültür-bağımlı bilgi gönderirken geçerli iş parçacığı kültür dayalı.

YAPINaşırı 14* *ToString dize döndürür kültür-duyarlı ya da biçimi için çeşitli yollar varsa IFormattable, uygulamak dize sağlar. Örneğin aşırı sağlar ve IFormattable uygular.

YOKToString boş dize veya null döndürür

Bu kurallar üzerine yemin ederim, ve için. Benim kod sadece ToString Bu kılavuz tarafından nasıl gelişti anlatamam. Aynı şeyi IEquatable(Of T) IComparable(Of T) gibi şeyler için de geçerli. Bu kod çok işlevsel hale getirmek ve herhangi uygulamak için ekstra zaman ayırdığınız pişman olmayacaksınız.

Şahsen, hiç ToString kullandımçokkullanıcı arayüzleri için, her zaman bazı tür bir özellik veya yöntem deşifre ettim. Hata ayıklama ve geliştirici amaçlar için ToString kullanmanız gerekir çoğu zaman. Önemli tanısal bilgi görüntülemek için kullanın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • InfinityWard

    InfinityWard

    19 EYLÜL 2006
  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • ravinderosahn

    ravinderosah

    20 Temmuz 2009