One can use [MaxLength()] attribute with strings and simple arrays:
i.e.:
[MaxLength(500)]
public string ProductName { get; set; }
Or
[MaxLength(50)]
public string [] Products { get; set; }
But can it be used with a List?
i.e.:
[MaxLength(50)]
public List<string> Types { get; set; }