枚举C#的替代方案

时间:2017-08-07 13:44:57

标签: c# enums static compare

我需要一个像枚举一样的解决方案,但有可能添加和删除元素。 我们有一个基本解决方案应该提供一些默认值,这对所有项目都很常见,但是所有项目(扩展基础)也应该能够添加和删除它们自己的。

示例:

基础产品:

public static class Constants
{
    public enum Food
    {
        Carrot,
        Meat, 
        Cheese
    }
}

项目延期:

public static class ProjectConstants
{
    // Remove meat from Food
    // Add Fish to Food
}

所以现在我正在考虑使用一个列表:

    public static List<string> Food = new List<string>(new string[]
    {
        "Carrot",
        "Meat",
        "Cheese",
    });

这将允许我添加和删除项目中的元素。但是,由于区分大小写和拼写错误,字符串列表感觉更有价值,而且,我错过了使用的机会:

if (Meat < Carrot)

有什么好的解决方案吗?在某种程度上,结合强大而强大的枚举方式,添加和删除元素的通用方法?

1 个答案:

答案 0 :(得分:-2)

这可能会对您有所帮助Dynamic enum in C# 由于您丢失了编译时检查,因此排除了字典选项。

修改 将链接更改为永久链接。