2016-08-16 4 views
0

In C#, ich umwickle primitive Typen zu verfolgen, was das Primitive darstellt. Hier ein Beispiel:Json.net Deserialize Wrapped Typen ohne Duplizieren Code

class Meters { 
    public readonly float Value; 
    public Meters(float v) { Value = v; } 
} 

ich dann diese Typen in Objekte zusammensetzen:

class Box { 
    public Meters Width { get; set; } 
    public Meters Height { get; set; } 
} 

Mit Json.net, ich brauche ein Box von JSON-Daten deserialisieren, die wie folgt aussehen:

{ 
    "Width": 3.23, 
    "Height": 2.0 
} 

Kann dies ohne Änderung der JSON zu "Width": { "Value": 3.23 } und ohne wiederholte, BoilerPlate Code für jeden Typ wie Meters getan werden?

Danke.

Antwort

5

Dies könnte durch das Hinzufügen einiger implicit operator der Klasse erreicht werden, die eine primitive umwandeln kann (dh float, decimal, double etc.), um Ihr Objekt. Sowie.

Verwandte Themen