(VB.NET)XmlEnum の記載について - tsukimisoba/Blog GitHub Wiki
2025/06/02 記載
この VB.NET のコードは 列挙型 (Enum
) のシリアライズ時の XML での表現をカスタマイズ するためのものです。
Imports System
Imports System.Xml.Serialization
Imports System.IO
Public Enum Status
<XmlEnum("1024")>
Active = 0
<XmlEnum("1025")>
Inactive = 1
<XmlEnum("1026")>
Pending = 2
End Enum
-
Status
という 列挙型 を定義しています。 -
XmlEnum
属性を使って、各列挙値を XML にシリアライズする際の表現を指定しています。-
Active = 0
→"1024"
-
Inactive = 1
→"1025"
-
Pending = 2
→"1026"
-
通常、列挙型を XML にシリアライズすると、Status.Active
は "Active"
のように出力されます。しかし、XmlEnum
を使用すると、以下のように 数値で出力される ようになります。
<Status>1024</Status>
Status.Active
を XML にシリアライズすると "1024"
という値になります。
このようなカスタム値を使うことで、外部システムとのデータ連携 や、既存の XML 仕様に準拠させる際に便利です。たとえば、ある API やデータストレージが "1024"
のような数値フォーマットを要求する場合に適用できます。