【C#】拡張メソッド

【1】拡張メソッドの作成方法

* 静的クラスの 第一引数に、 
 this キーワードを修飾子として付けた static メソッドを書く

public static string ToStringInJapanese(this Sex sex)

【2】サンプル

拡張メソッド(本体)

public enum Sex
{
    Male,
    Female,
}

public static class SexExtention
{
    public static string ToStringInJapanese(this Sex sex)
    {
        string returnVal;

        switch (sex)
        {
            case Sex.Male:
                returnVal = "男性";
                break;
            case Sex.Female:
                returnVal = "女性";
                break;
            default:
                returnVal = "不明";
                break;
        }

        return returnVal;
    }
}

拡張メソッド(呼び出し側)

private void button1_Click(object sender, EventArgs e)
{
    this.label1.Text = Sex.Male.ToStringInJapanese();
}

出力

男性

関連記事

属性(アトリビュート) ~カスタム属性~
列挙型・Enum
VBC#との差異 (拡張メソッド 編)