Csharp/CSharp Tutorial/Class/Nested Class

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

class nesting

<source lang="csharp">internal class Outer {

   private static int state;
   internal class Inner
   {
       void Foo() { 
         state++; 
       }
   }

}</source>

Inner class

<source lang="csharp">using System; class MyClass {

  class MyCounter
  {
     public int Count = 0;
  }
  private MyCounter counter;
  public MyClass() {
     counter = new MyCounter();
  }
  public int Incr() {
     return counter.Count++;
  }
  public int GetValue() {
     return counter.Count;
  }

} class MainClass {

  static void Main()
  {
     MyClass mc = new MyClass();
     mc.Incr();
     mc.Incr();
     mc.Incr();
     mc.Incr();
     mc.Incr();
     mc.Incr();
     Console.WriteLine("Total: {0}", mc.GetValue());
  }

}</source>

Total: 6

Nested class object

<source lang="csharp">public class A {

  public class B
  {
  }

} public class MainClass {

  static void Main()
  {
     A.B b = new A.B();
  }

}</source>