これはについての私のこれら二つの以前の質問への質問のフォローアップであるServiceStack.Text:まず、第二。これらの質問への回答を確認するとわかるように、データコントラクトとEnumMember属性に基づいて列挙型をシリアル化および逆シリアル化することができます。しかし、null許容の列挙、つまりEnumType?
型についてはどうでしょうか。ServiceStack.Textを使用して、EnumMember属性を使用してこれらをシリアル化することは可能ですか?ServiceStack.Text 5.2.0を使用すると、次のコードが表示されます。
namespace TestNameSpace
{
using ServiceStack;
using System;
using System.Runtime.Serialization;
class TestClass
{
[DataContract]
enum TestEnum
{
[EnumMember(Value = "enum_value")]
EnumValue = 0,
}
static void Main(string[] args)
{
TestEnum? nullableEnum = TestEnum.EnumValue;
Console.WriteLine($"nullableEnum.ToJson: {nullableEnum.ToJson()}");
Console.WriteLine($"nullableEnum.ToCsv: {nullableEnum.ToCsv()}");
Console.WriteLine($"nullableEnum.ToJsv: {nullableEnum.ToJsv()}");
Console.WriteLine($"nullableEnum.ToXml: {nullableEnum.ToXml()}");
}
}
}
以下を出力します。
nullableEnum.ToJson: "EnumValue"
nullableEnum.ToCsv: EnumValue
nullableEnum.ToJsv: EnumValue
nullableEnum.ToXml: <?xml version="1.0" encoding="utf-8"?><TestClass.TestEnum xmlns="http://schemas.datacontract.org/2004/07/TestNameSpace">enum_value</TestClass.TestEnum>
私はすべての出力形式がを持っていることを期待しますがenum_value
。ServiceStack.Textでこれを達成することは可能ですか?
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加