title: How can I override the serialized name of each list item in a List<SomeStruct>() in c#?
body: <p>I have a struct more or less like this:</p>
  
  <pre><code>[Serializable]
  [XmlRoot("Customer")]
  public struct TCustomer
  {
    string CustomerNo;
    string Name;
  }
  </code></pre>
  
  <p>I sometimes serialize this this struct to XML as a single object, which works fine, but I also sometimes need to serialize a List&lt;> of this struct.</p>
  
  <p>I've used this to set the top level element name:</p>
  
  <pre><code>[Serializable]
  [XmlRoot("Customers")]
  public class CustomerList : List&lt;TCustomer&gt; { }
  </code></pre>
  
  <p>XmlSerializer however, insists on calling each list item TCustomer. How can I tell XmlSerializer to use the name Customer instead of TCustomer?</p>