XmlSerialization Code-Hack

Hay una cosa que no entiendo sobre la serialización en C#, mejor dicho sobre la
serialización en Xml con csharp... y es... ¿porque no se puede serializar usando
un simple CDATA?

Esta es una aproximación (bastante mala por cierto... pero...). Se define la clase
asi, y se pasa myXMLTag al serializador.

public class MyXMLTag
{
   [XmlAttribute]
   public string attribute1;
   [XmlAttribute]
   public int attribute2;

   public XmlCDataSection Message; // El valor de myXMLTag

   public SetCDATA( string msg )
   {
      XmlDocument doc = new XmlDocument();
      Message = doc.CreateCDataSection( msg );
   }
}

El próximo día, pongo como crear un atributo XmlCDATASerializeAttribute o algo así
para que la cosa sea más sencilla.