2017-02-23 3 views
0

Ich habe eine Situation, die ich nicht herausfinden kann. Ich habe zwei Objektklassen:C# Serialisierung und DataContracts

[Serializable] 
[DataContract] 
public class Instrument 
{ 
    [DataMember] 
    public string Name {get; set;} 
    [DataMember] 
    public string Id {get; set; } 
    [DataMember] 
    public bool HideMe {get; set;} 
} 

[Serializable] 
[DataContract] 
public class Order 
{ 
    [DataMember] 
    public string Code {get; set;} 
    [DataMember] 
    public string OrderId {get; set; } 
    [DataMember] 
    public Instrument Inst {get; set;} 
} 

Mein Code versucht, eine JSON-Nachricht von Orders zu serialisieren. Ich kann in der JSON-Zeichenfolge sehen, dass Instrumentdaten vorhanden sind, aber die serialisierten Auftragsobjekte leere Instrument-Objekte enthalten.

Kann jemand das erklären?

+1

Können Sie den JSON und die Anrufseite posten? –

+0

Sie benötigen keine zwei Attribute - [DataContract] und [DataMember] erben von Serializable. Entfernen Sie das Attribut [Serializable] und versuchen Sie es erneut. Bitte geben Sie auch Ihren Serialisierungscode an – komsky

+0

Bitte bearbeiten Sie Ihre Frage, um eine vollständige [mcve] einzubeziehen, die zeigt, wie Sie das 'Order'-Objekt serialisieren und deserialisieren. – dbc

Antwort

0

Danke für die Antworten. Das Problem war, dass ich den Windows-Dienst, der den JSON sendet, nicht neu erstellt und freigegeben hatte.