我有Windows应用程序在哪里我需要通过读取名为"Controls.txt"的文本文件在运行时填充枚举值. 作为限制,我不打算使用字典.以下是枚举MyControls中可用的默认值.我只能使用枚举.
public enum MyControls
{
Button1 = 0,
Button2 = 1,
Button3 = 2,
}
Run Code Online (Sandbox Code Playgroud)
如果Controls.txt文件可用,那么枚举的内容应该改变
public enum MyControls
{
btn1 = 0,
btn2 = 1,
btn3 = 2,
}
Run Code Online (Sandbox Code Playgroud)
我强烈认为您正在尝试解决错误的问题。enum 的值是类型安全的。我不认为动态填充它是一个好主意。真正有用的是在编译之前用文本文件(例如)填充枚举。您可以使用 VS 中的文本模板来执行此操作。
你可以在我的博客文章中找到一个例子:http : //skleanthous.azurewebsites.net/post/2014/05/21/Creating-enums-from-the-database-and-using-them-in-Entity-framework -5 及以后的模型优先
尽管我的示例从数据库加载,但将其更改为从文本文件加载应该是微不足道的。