Types creation in C#