public TestClassWithOptionalParameters(A a)
 {
     Result = ConstructorsSetType.A;
 }
 public TestClass(A a, B b, C c)
 {
     Result = ConstructorsSetType.ABC;
 }
 public TestClassWithOptionalParameters()
 {
     Result = ConstructorsSetType.DefaultConstructor;
 }
 public TestClass(C c)
 {
     Result = ConstructorsSetType.C;
 }
 public TestClass(B b)
 {
     Result = ConstructorsSetType.B;
 }
 public TestClass(A a)
 {
     Result = ConstructorsSetType.A;
 }
 public TestClass()
 {
     Result = ConstructorsSetType.DefaultConstructor;
 }
 public TestClassWithOptionalParameters(A a, B b, C c = null)
 {
     Result = ConstructorsSetType.ABC;
 }