"Tipo no esperado", usando DataContractSerializer, pero es solo una clase simple, ¿no hay cosas divertidas?

Estoy refactorizando mi serialización XML, y pensé que probaría el DataContractSerializer. Todo funciona sin problemas, hasta que necesite serializar esta clase:

using System;
using System.Runtime.Serialization;

namespace VDB_Sync.Model
{
[DataContract(Name="Konstant")]
public class Konstant : DataFelt
{
    [DataMember]
    private MySqlDbType mydataType;
    [DataMember]
    private object value;

    public Konstant(string navn, MySqlDbType dataType, object value)
        : base(navn, dataType, "*Konstant", false, false)
    {
        //this.navn = navn;
        this.mydataType = ,dataType;
        this.value = value;

        if (navn.Contains("*Løbenummer"))
        {
            navn = "*Konstant: " + Convert.ToString(value);
        }
    }

    public object Value
    {
        get
        {
            return value;
        }
    }

}
}

Me da esto:

Tipo 'VDB_Sync.Model.Konstant' con el nombre del contrato de datos 'Konstant: http: //schemas.datacontract.org/2004/07/VDB_Sync.Model' no se espera. Considere usar un DataContractResolver o agregue cualquier tipo no conocido estáticamente a la lista de tipos conocidos, por ejemplo, usando el atributo KnownTypeAttribute o agregándolos a la lista de tipos conocidos pasados a DataContractSerializer.

* La ayuda que he encontrado hasta ahora apunta a colecciones y tipos. Tengo una enumeración (MySqlDbType) en mi clase, pero obtenga esto: incluso recibo el mismo error cuando no tengo ningún DataMembers declarado: -x Entonces, ¿qué está pasando aquí? ¿Qué me estoy perdiendo

para referencia, así es como lo serialicé, siendo VDB_SessionController la raíz: *

    public void GemKonfig(VDB_SessionController session)
    {
        var settings = new XmlWriterSettings()
        {
            Indent = true,
            IndentChars = "\t"
        };

        var writer = XmlWriter.Create(defaultFile, settings);
        DataContractSerializer ser =
            new DataContractSerializer(typeof(VDB_SessionController));

        ser.WriteObject(writer, session);
        writer.Close();
    }

Respuestas a la pregunta(14)

Su respuesta a la pregunta