(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

処理の内容:

  1. Status という 列挙型 を定義しています。
  2. XmlEnum 属性を使って、各列挙値を XML にシリアライズする際の表現を指定しています。
    • Active = 0"1024"
    • Inactive = 1"1025"
    • Pending = 2"1026"

動作のイメージ:

通常、列挙型を XML にシリアライズすると、Status.Active"Active" のように出力されます。しかし、XmlEnum を使用すると、以下のように 数値で出力される ようになります。

XML 出力例

<Status>1024</Status>

Status.Active を XML にシリアライズすると "1024" という値になります。

利用シーン:

このようなカスタム値を使うことで、外部システムとのデータ連携 や、既存の XML 仕様に準拠させる際に便利です。たとえば、ある API やデータストレージが "1024" のような数値フォーマットを要求する場合に適用できます。

⚠️ **GitHub.com Fallback** ⚠️