Bir meslektaşım ve ben new
anahtar kelimenin C # 'daki davranışına gizlenme kavramı için geçerli olduğu gibi bakıyorduk . Gönderen belgeler :
Temel sınıftan miras kalan bir üyeyi açıkça gizlemek için yeni değiştiriciyi kullanın. Miras alınan bir üyeyi gizlemek için, aynı adı kullanarak türetilmiş sınıfta ilan edin ve yeni değiştiriciyle değiştirin.
Belgeleri okuduk ve temelde ne yaptığını ve nasıl yaptığını anlıyoruz. Gerçekten başa çıkamadığımız şey, neden en baştan yapmanız gerektiğine ilişkin. Değiştirici 2003'ten beri orada ve ikimizde .Net ile bundan daha uzun süredir birlikte çalışıyoruz ve asla ortaya çıkmadı.
Bu davranış ne zaman pratik anlamda gerekli olacaktır (örneğin: bir iş vakasına uygulandığı gibi)? Bu, kullanım ömrünü uzatan bir özellik mi, yoksa yaptığımız işte yeterince nadir görülen bir şey mi (özellikle web formları ve MVC uygulamaları ve bazı küçük faktörlü WinForms ve WPF yapıyoruz)? Bu anahtar kelimeyi denemek ve onunla oynamak, yanlış kullanılırsa bunun biraz tehlikeli görünmesine izin veren bazı davranışlar bulduk.
Bu kulağa biraz açık uçlu geliyor, ancak bu aracı yararlı bulabilen bir iş uygulamasına uygulanabilecek belirli bir kullanım durumu arıyoruz.