我可以扩展一个C#Enum,这样我可以通过多种方式获取其值吗?

时间:2012-10-23 06:03:12

标签: c# enums extension-methods

我有以下枚举:

public enum ContentKey {
    Menu = 0,
    Article = 1,
    Topic = 2
};

当我使用Enum时,我一直在做以下事情:

((int)ContentKey.Topic).ToString("D2")

我是否可以通过某种方式为Enum创建扩展,以便我不必编写上述代码?

1 个答案:

答案 0 :(得分:5)

您可以使用扩展方法:

public static class Ext
{
    public static string ToFormattedString(this ContentKey key, string format)
    {
        //do staff
    }
}

用法:

ContentKey.Topic.ToFormattedString("D2")