Data Contract Serializer - Cómo omitir el elemento externo de una colección

¿Cómo serializo una lista sin el elemento externo utilizando el serializador de contrato de datos? Estoy usando .Net 3.5. Tengo una clase que contiene una lista, entre otras cosas, que deseo serializar sin que el elemento externo cumpla con el XSD pertinente:

[DataContract(Name="MyClass")]
public class MyClass
{
...
[DataMember(Name="Parameters")]
public List<Parameter> Parameters;
...
}

[DataContract(Name="Parameter")]
public struct Parameter
{
    [DataMember(Name="ValueName")]string ValueName;
    [DataMember(Name="Value")]int Value;
    public Parameter(string ValueName, int Value)
    {
        this.ValueName = ValueName;
        this.Value = Value;            
    }
}

Lo anterior se serializa como (suponiendo solo un parámetro en la lista):

<MyClass>
    <Parameters>
       <Parameter>
           <ValueName></ValueName>
           <Value></Value>
       </Parameter>
    </Parameters>
</MyClass>

Me gustaría serializarlo de la siguiente manera:

<MyClass> 
       <Parameter>
           <ValueName></ValueName>
           <Value></Value>
       </Parameter>
</MyClass>

Usando el XmlSerializer puedo hacer esto aplicando el [XmlElement] a la lista:

[XmlElement ("Parameter")]
public List<Parameter> Parameters;

Sin embargo, no quiero usar elXmlSerializer porque mi clase tiene algunas propiedades que no son compatibles con la serialización y esperaba tratar con aquellos que usan la familia de atributos [OnSerializing].

Gracias

Respuestas a la pregunta(6)

Su respuesta a la pregunta