Mega Code Archive

 
Categories / C# Tutorial / Class
 

Update static field in the deconstructor

public class MyClass {   private static int numberOfMyClass = 0;   public MyClass()   {     System.Console.WriteLine("Creating a MyClass object");     numberOfMyClass++;     }   ~MyClass()   {     System.Console.WriteLine("Destroying a MyClass object");     numberOfMyClass--;  // decrement numberOfMyClass   }   public static int GetNumberOfMyClass()   {     return numberOfMyClass;   } } class MainClass {   public static void Main()   {     System.Console.WriteLine("MyClass.GetNumberOfMyClass() = " + MyClass.GetNumberOfMyClass());     MyClass myMyClass = new MyClass();     System.Console.WriteLine("MyClass.GetNumberOfMyClass() = " + MyClass.GetNumberOfMyClass());     MyClass myMyClass2 = new MyClass();     System.Console.WriteLine("MyClass.GetNumberOfMyClass() = " + MyClass.GetNumberOfMyClass());   } } MyClass.GetNumberOfMyClass() = 0 Creating a MyClass object MyClass.GetNumberOfMyClass() = 1 Creating a MyClass object MyClass.GetNumberOfMyClass() = 2 Destroying a MyClass object