nasıl uygulanır? Sınıftaki verileri koşullu olarak nasıl gizleyebileceğini merak ediyordum. Örneğin, Motor, Metre Okuma ve Kilometre olmak üzere üç alanı olan bir Araba sınıfım olduğunu varsayalım.Koşullu kapsülleme C#
Sürücü, Mekanik ve Yolcu: adlı başka üç varlığım var.
bir sürücü sadece Kilometre (ve Engine ve MeterReading)
Bir Mekanik sadece Motor ve Kilometre (ve MeterReading değil) erişmek mümkün olmalıdır erişmek mümkün olmalıdır: Şimdi ne istememizdirbir Yolcu yalnızca (eğer başka tablolarda bütün mantığı dayandırılması olmadan) MeterReading (ve Motor ve Kilometre)
Bunun uygulamak için en iyi yol olabilir .. erişmek mümkün olmalıdır?
Fikriniz var mı?
Teşekkürler.
Tabii ki bu sadece kodlama sırasında kazalara karşı koruyucular olduğunu, ancak müşteri kodunun 'Araba' ve sonra 'IUsableByMechanic' için' IUsableByPassenger 'örneğini atayabileceğinden, düşmanca müşterilere karşı bir güvenlik önlemi olmadığını belirtmek gerekir. ve diğerleri. – Timwi
Elbette, ancak bir şekilde maruz kalmadan daha fazlasını yapabilen herhangi bir nesneyi açığa çıkarırken bundan kaçınmanın bir yolu yoktur. Bir tür bulmak için yansımayı her zaman kullanabilir, özel kişileri okuyabilirsiniz. – NOtherDev
@A: Güvenilmeyen istemci kodunun yansımayı kullanmasını engellemek, ancak basit bir dökümü engellemek mümkün değildir. – Timwi