SORU
9 Aralık 2008, Salı


Nasıl değişmez bir Sınıf oluşturabilirim?

Değişmez bir sınıf oluşturmaya çalışıyorum.< / ^ br . Salt okunur olarak tüm özelliklerini işaretledim.

Sınıf öğelerin bir listesi var.< / ^ br . Eğer özelliği ise salt okunur olsa da bu liste değiştirilebilir.

Listenin IEnumerable açıklamanızı değişmez hale getirir.< / ^ br . Birini takip etmek için bir sınıf değişmez yapması gereken temel kuralların ne olduğunu bilmek istedim ?

Teşekkürler.

CEVAP
9 Aralık 2008, Salı


Doğru yoldasın bence

  • tüm bilgiler sınıf enjekte kurucu sağlanmalıdır
  • tüm özellikleri alıcılar sadece olmalıdır
  • eğer bir koleksiyon (ya da Dizi) kurucu geçirilir, daha sonra değiştirme arayan tutmak için kopyalanmalıdır
  • toplama dönmek, ya da bir kopya ya da salt okunur bir sürümünü geri dönmek için gidiyoruz (örneğin, ArrayList.ReadOnly ya da bir önceki nokta ile bu birleştirebilirsiniz . benzer kullanıyorsanız ^em>mağazasalt okunur arayanlar erişim) ne zaman iade edilecek kopya, bir kaptan geri dönmek, ya da başka bir yöntemi kullanmak salt okunur koleksiyona erişim sağlayan/özellik
  • unutmayın, hala olabilir görünümünü bir değişken sınıf eğer herhangi bir üye değişken - eğer bu durumda, gerekir kopyasını uzak olursa olsun devlet etmek isteyeceksiniz korumak ve önlemek dönen tüm değişken nesneler, sürece kopyalama onlardan önce onlara geri vermek için arayan başka bir seçenektir dönmek yalnızca değişmez "bölüm" değişken object - teşekkürler @Brian Rasmussen için teşvik benim için genişletin bu noktada

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • CodingMadeEasy

    CodingMadeEa

    25 EYLÜL 2010
  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010