so, the recursion invocation of constructors fool the C# compiler into believing the field 'c' isn't initialized.so you can assign any type of values to it,yes,it's really a minor bug.