Csharp/CSharp Tutorial/Class/Nested Class
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>