.NET'te sınıflar ve iç içe sınıflar nasıl başlatılır?

Diyelim ki içinde 2 düzey iç içe sınıf bulunan statik olmayan bir sınıf var.

public class A
{
     public class B
     {
         public class C{}
     }
}

Oluşturmak istediğimde örnekler nasıl oluşturulur:

  • a) ana seviye sınıfın bir örneği (yeni A ())?
  • b) en derin seviye sınıfının bir örneği (yeni C ())?

Bu uygulamada performans ve bellek sorunları nelerdir?

Teşekkürler!

2
Bunun mirasla bir ilgisi yok, bu arada ...
katma yazar Paolo Tedesco, kaynak
"İçindeki 2 alt sınıf düzeyi" Temel sınıfın, alt sınıflarından falan üyeleri olduğu anlamına mı geliyorsunuz? Ayrıca, unvan oldukça yanıltıcıdır, aslında belirli bir senaryo hakkında genel bir teorik soru sorar.
katma yazar BoltClock, kaynak
Bunlar alt sınıf değil. Bunlar iç içe sınıflardır.
katma yazar BoltClock, kaynak
Kısa bir örnek kod parçası gösterseniz yardımcı olur
katma yazar Justin, kaynak
@Hohhi - Sorunun doğasını değiştirir mi?
katma yazar Random, kaynak
Corrent, biri benim için düzenledi.
katma yazar Random, kaynak
Master sınıfı, terimi nereden aldınız?
katma yazar Yurii Hohan, kaynak

1 cevap

Java'nın aksine, CLR'deki iç içe geçmiş bir sınıf, ad alanı kapsamında bildirilen bir sınıftan farklı davranmasını sağlayan özel özelliklere sahip değildir. Düzen ve ayırma davranışı aynıdır. Sadece kapsamı etkiler. Bir sınıfı iç içe geçirmenin tek avantajı onu özel yapabilirsiniz.

2
katma
Aslında, iç içe geçmiş bir sınıfın dış sınıfın özel üyelerini görebilen tek farklı sınıf olduğu için "özel" erişimi vardır. Bu çok özel. (Daha resmi olarak: yalnızca iç sınıfın içinde kapsamındaki dış sınıfın adlandırılmış özel üyeleri değil, iç sınıf da dış sınıf üyelerinin erişilebilirlik alanı içindedir. )
katma yazar Eric Lippert, kaynak
Teşekkürler! Ben de onu arıyorum.
katma yazar Random, kaynak