Assume that we have the following struct definition that uses generics:
struct
public struct Foo { public T First; public T Second;
Because it is a rule in C# that all fields must be assigned for structs (inline or in constructor). This is because of a struct nature. It has nothing about generic it or not generic.