C# JSON -Serialisierungsobjekt, das von der Beobachtungspflicht vererbt - wie können Eigenschaften der Kinderklasse einbC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 C# JSON -Serialisierungsobjekt, das von der Beobachtungspflicht vererbt - wie können Eigenschaften der Kinderklasse einb

Post by Anonymous »

Ich verwende JSON, um einige Daten zu speichern: < /p>

Code: Select all

public ViewModel
{
public TestClass testClass { get; set; }

public ViewModel()
{
testClass = new TestClass();
}

public void SaveFile()
{
SaveAs(testClass);
}

private void SaveAs(object data)
{
string jsonString = JsonSerializer.Serialize(data);

SaveFileDialog dialog = new SaveFileDialog();
if (dialog.ShowDialog() == true)
{
File.WriteAllText(dialog.FileName,jsonString);
}
}
}
< /code>
Wenn ich eine einfache Klasse wie diese erstelle: < /p>
public class TestClass
{
public string Name { get; set; }
public double Size { get; set; }
}
< /code>
Die Serialisierung funktioniert wie beabsichtigt und gibt mir diese Datei: < /p>
{
"Name": null,
"Size": 0
}
< /code>
Wenn ich meine Klasse von der Beobachtungspunkte wie folgt erben soll: < /p>
public class TestClass : ObservableCollection
{
public TestClass()
{
Items.Add(new TestObject());
}

public string Name { get; set; }
public double Size { get; set; }
}

public class TestObject
{
public string ObjectName { get; set; }
public double ObjectSize { get; set; }
}
< /code>
Die Serialisierung gibt mir nur die Objekte der Beobachtung: < /p>
[
{
"ObjectName": null,
"ObjectSize": 0
}
]
< /code>
Ich möchte, dass die Namen und die Größeneigenschaften der TestClass -Klasse ebenfalls serialisiert werden. Wie kann ich das schaffen? < /P>
 Bearbeiten < /strong>
Ich würde erwarten[
{
"Name": null,
"Size": 0
{
"ObjectName": null,
"ObjectSize": 0
}
}
]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post