2014-01-30 108 views
0

我想插入一个INI文件段作为枚举值。INI段与Enum相当

据我所知,是让INI段落:

List<string> categories = GetCategories(iniFile); 
foreach (string category in categories) 

我怎样才能把它插入到枚举?

+3

如果我正确理解你想要什么,你不能。而是使用'Dictionary'和存储节名作为键。 –

+0

@AndreiV我想用户可以改变一个枚举值。他无法访问代码,但可以编辑ini文件部分并在代码中读取。 – user3165438

+0

如果您仔细阅读[此链接](http://msdn.microsoft.com/zh-cn/library/sbbt4032.aspx)的第一行,您将遇到“常量”一词。这就是枚举。这意味着用户不能更改这些值。枚举不能动态构造(它可能使用反射,但不希望遵循该路径)。请尝试提供您尝试实现的具体示例。有人可能会有一个合适的解决方案。 –

回答

1

Enum值是常量,不能(很容易)修改。相反,你可以使用一个Dictionary

Dictionary<string, string> iniSections = Dictionary<string, string>(); 
List<string> categories = GetCategories(iniFile); 

foreach (string category in categories) 
{ 
    iniSections.Add(categoryName, category); 
} 

你需要,当然要提供有效categoryName为每个可用category