Store different structs in a list? - C#