2014-11-07 11 views
5

özel bir temel yöntemini kullanarak türetilmiş bir sınıf bir temel sınıftan bir yöntemi nasıl çağırabilir.
Diğer sınıflar diğer erişimlere sahip olmamalıdır.
Türetilmiş bir sınıftan C#

Benim durumum:
Ben bazı değerleri kaydetmek için özel bir yöntem yazdı dizimi ve semantik olarak bir temel sınıf var.

private void register(string param1, int param2){//...} 


Ben alt sınıfları farklı şeyler kaydetmek için izin vermek için bu yaptık.
Sorun, türetilmiş bir sınıfın bir temel sınıfın özel yöntemlerine veya alanlarına erişememesidir.
Bu bana mantıklı geliyor, çünkü özel araçlar PRIVATE.

Yöntemi herkese açık yapmak istemiyorum çünkü diğer sınıflar bu yöntemi çağırmamalıdır.
Birisi bana daha iyi bir tasarıma yönelik bir çözüm sağlayabilir veya yol gösterebilir mi?

+11

o 'protected' yapmak olmayan diğer ilgili sınıflardan gizlenerek ederken bir şey protected olarak ilan edildiğinde protected

herhangi türetilmiş sınıfın erişilebilir olduğunu gerekenler

türetilmiş? – AlexD

+0

Ah adam! Her zaman korumanın diğer paketlerden erişime izin vermeyeceğini düşündüm. (Bu sadece Java'da sanırım ...) Cevap olarak yaz ve kabul edeceğim. : D –

+1

Hayır, bu 'dahili', türetilmiş sınıflardan ve aynı derlemedeki herhangi bir sınıftan erişime izin veren iki - korumalı iç öğesini bile birleştirebilirsiniz. –

cevap

14

Özel bir şey bildirdiğinizde, yalnızca onu tanımlayan sınıf buna erişebilir. Hatta sınıfları sen