.NET Fiddle

CSharp · Console

/Program.cs

using System;
					
public class Program
{
	public class Foo {
		public int Increment() {
			return IncrementInternal.Increment();
		}
		
		private static class IncrementInternal {
			private static int counter = 0;
			public static int Increment() {
				return counter++;
			}
		}
	}
	
	public static void Main()
	{
		var foo = new Foo();
		Console.WriteLine(foo.Increment());
		Console.WriteLine(foo.Increment());
		Console.WriteLine(foo.Increment());
		
		var foo2 = new Foo();
		Console.WriteLine(foo2.Increment());
		Console.WriteLine(foo2.Increment());
		Console.WriteLine(foo2.Increment());
	}
}
;