Bu konuyla ilgili bazı tartışmalar okudum ve anlamadığım bir şey var.Mülkiyet vs İşlev (özellikle .NET)
En yaygın yanıt şu şekildedir: önbelleğe alınmış verileri döndürmek için bir ReadOnly Property kullanın, önbelleğe alınmamış verileri döndürmek için bir İşlev kullanın. WriteOnly Mülkiyeti hiç kullanmayın, çünkü "mantıklı değil".
Bunun için bir neden yok. IL'de, MyProperty, get_MyProperty
ve set_MyProperty
yöntemleri olarak bulunur. Bunun tek nedeni, yukarıdaki cevabın varsayılması gerektiğidir.
Tamam, o zaman neden ReadOnly Properties ile hiç uğraşmıyorsunuz? Neden sadece Private değil Özel değişken yapmak değil? Öyleyse neden Properties ile uğraşmak istersiniz? Önbelleğe alınmış veriler -> Genel değişken, önbelleğe alınmamış veriler -> Altyazı, veri yazma -> Alt
Yukarıdakilerin hepsini unutalım ve Özellikleri kullanışlı bir özellik olarak kullanalım mı? Verileri Al ve Ayarla bir 'öğe'. Get'in önbelleğe alınmış verileri döndürmeyeceğini (muhtemelen gecikmeye neden olacak) bilmek için sağduyu kullanın.
-Edit- Kişilerin en iyi seçenek olduğunu daha fazla veya daha az kabul ettiklerini görüyorum. İnsanların neden mülklere karşı savunuculuğunu yaptığı birçok tartışmayı neden anladım.
Sorunun tam olarak nedir? Son paragrafınız ya sorunuzla çelişir ya da kendi cevabınızı verir. –
Son paragraf kendi fikrimi sağlıyor. Anlaşma veya anlaşmazlık arıyorum (sağlanan nedenlerle). – Stijn
http://stackoverflow.com/questions/1019571/why-do-we-use-net-properties-instead-of-plain-old-get-set-functions – Jimmy