title: Most elegant XML serialization of Color structure
body: <p>One problem bugged me enough to register on Stack Overflow. Currently if I want to serialize Color to XML string as named color, or <code>#rrggbb</code>, or <code>#aarrggbb</code>, I do it like this:</p>
  
  <pre><code>[XmlIgnore()]
  public Color color;
  
  [XmlElement(ElementName = "Color")]
  public String color_XmlSurrogate
  {
    get { return MyColorConverter.SetColor(color); }
    set { color = MyColorConverter.GetColor(value); }
  }
  </code></pre>
  
  <p>Here <code>MyColorConverter</code> does serialization just the way I like it. But all this feels like a kludge, with additional field and all. Is there a way to make it work in less lines, maybe connecting TypeDescriptor with C# attributes related to XML?</p>