動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

パターン2: Description属性で画面表示

出典: C# Enum 完全ガイド — Description 属性 / [Flags] / 数値変換の使い分け5パターンパターン2: Description属性で画面表示

パターン2: Description属性で画面表示 (csharp)#b083bdc7c698
using System;
using System.ComponentModel;
using System.Reflection;
 
public enum ProductStatus
{
    [Description("販売中")]
    Active = 1,
 
    [Description("一時停止")]
    Suspended = 2,
 
    [Description("廃番")]
    Discontinued = 9
}
 
//拡張メソッドでDescriptionを取得
public static class EnumExtensions
{
    public static string GetDescription(this Enum value)
    {
        FieldInfo field = value.GetType().GetField(value.ToString());
        if (field == null)return value.ToString();
 
        var attribute = field.GetCustomAttribute<DescriptionAttribute>();
        return attribute?.Description ?? value.ToString();
    }
}
 
//使い方
class Program
{
    static void Main()
    {
        var status = ProductStatus.Active;
        string label = status.GetDescription();  // "販売中"
 
        Console.WriteLine($"ステータス: {label}");
    }
}
▸ 実行ボタンで結果を表示
  • id: #b083bdc7c698
  • lines: 40
  • extracted: 2026-06-10
  • captured: 2026-06-04

Source収録記事

この snippet は記事の「パターン2: Description属性で画面表示」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

7
図鑑トップ