Obsolete-Attribut bewirkt, dass die Eigenschaft ignoriert wird XmlSerialization

Ich bin refactoring einige Objekte in XML serialisiert, müssen aber noch halten Sie ein paar Eigenschaften für die Abwärtskompatibilität, ich habe eine Methode, die wandelt das alte Objekt, in dem eine für mich neue und Nullen der veralteten Eigenschaft. Ich will das Obsolete - Attribut zu sagen, andere Entwickler nicht auf diese Eigenschaft verwenden, aber es verursacht die Eigenschaft, ignoriert der XmlSerializer.

Ähnliche Code:

[Serializable]
public class MySerializableObject
{
    private MyObject _oldObject;
    private MyObject _anotherOldObject;

    private MyObject _newBetterObject;

    [Obsolete("Use new properties in NewBetterObject to prevent duplication")]
    public MyObject OldObject
    {
      get { return _oldObject; }
      set { _oldObject = value; }
    }

    [Obsolete("Use new properties in NewBetterObject to prevent duplication")]
    public MyObject AnotherOldObject
    {
      get { return _anotherOldObject; }
      set { _anotherOldObject = value; }
    }

    public MyObject NewBetterObject
    {
      get { return _anotherOldObject; }
      set { _anotherOldObject = value; }
    } 
}

Ideen für einen workaround? Meine beste Lösung ist, um zu schreiben, veraltet in der XML-Kommentare...

Update: ich bin mit .NET 2.0

Schreibe einen Kommentar