私はオブジェクト値のプロパティを持つC#クラスを持っています。私はこのプロパティをenum値に設定しています.Jsonにシリアル化してからオブジェクトにデシリアライズします。Json.Netでenum値に設定されたオブジェクトプロパティを直列化および逆シリアル化する方法
オブジェクトのプロパティ値をデニリアライズして列挙型に戻すにはどうすればよいですか?
、与えられます。
public class Foo
{
public object Value { get; set; }
}
public enum SmallNumbers { One, Two, Three }
がどのように私はこのテストに合格することができますか?
[Test]
public void an_object_property_set_to_an_enum_can_be_serialised()
{
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto
};
var json = JsonConvert.SerializeObject(
new Foo {Value = SmallNumbers.One},
Formatting.None,
settings);
var foo = JsonConvert.DeserializeObject<Foo>(json, settings);
Assert.That(foo.Value is SmallNumbers);
}
これは直接サポートされていないため、私はWaheedの答えを受け入れましたが、彼の答えはあなたが得る限り近かったです! –