Aşağıdaki şekilde tanımlanmış bir sınıfınız olduğunu hayal edin.C# Referanslar; Üyeleri Gizlemek
public class SomeClass
{
public Manager m { get; protected set; }
public SpecialData data { get; protected set; }
//More methods and member code here...
}
Özel sınıf üyesine ait ayar referansını bir şekilde değiştirebilmek için yönetici sınıfıma ihtiyacım var. Bunu, C++ 'daki çift işaretçi veya arkadaş sınıfları ile yapabilirdim, ancak bu seçenek C#' da ne yazık ki mevcut değil. SpecialData'nın dıştaki kullanıcılardan korunmasını nasıl ayarlayabilirim, yine de yönetici sınıfının ayar üzerinde kontrolüne izin veriyor mu? Bunu dahili anahtar kelime ile yapabilirdim, ama bu inanılmaz derecede güvenli veya temiz görünmüyor ...
Herhangi bir yardım büyük beğeni topluyor.
Neden "iç" in güvensiz veya kirli olduğuna inandığınızı açıklar mısınız? Genel olarak böyle olduğunu mu söylüyorsun yoksa özel tasarımın için uygun olmadığını mı söylüyorsun? Burada mükemmel bir çözüm olduğunu söyleyebilirim, gerçeği söylemek gerekirse neden bunu ilk etapta yapmak istediğinizden emin değilim. – decPL