【C#】拡張メソッド

■ 拡張メソッドの作成方法

 * 静的クラスの 第一引数に、 this キーワードを修飾子として付けた static メソッドを書く
抜粋
public static string ToStringInJapanese(this Sex sex)

■ サンプル

拡張メソッド(本体)

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();
}

出力

男性

関連記事

属性(アトリビュート) ~カスタム属性~

http://blogs.yahoo.co.jp/dk521123/29483903.html

列挙型・Enum

http://blogs.yahoo.co.jp/dk521123/22338133.html

VBC#との差異 (拡張メソッド 編)

http://blogs.yahoo.co.jp/dk521123/35652078.html