日期:2014-05-17  浏览次数:21431 次

【高分】关于C#中的动态创建枚举类型
最近有个项目比较棘手!
需求:

从数据库中某张表中动态创建一个枚举类型.


例如:

数据库中存在表Employee,其内容如下:
姓名 编号
Name No.

张三 1234

李四 4562

王五 2334


现在我使用中需要动态创建一个枚举类型以供使用,要创建的枚举如下:

enum enumEmployee
{
  张三 = 1234,
  李四 = 4562,
  王五 = 2334
}

不知如何实现 

看了MSDN中使用EnumBuilder类实现,结果还是不会,请过来人指教,谢谢!

MSDN的参考:http://msdn.microsoft.com/zh-cn/library/system.reflection.emit.enumbuilder(VS.80).aspx

说明:外地出差中,不能及时回复,忘谅解!

------解决方案--------------------
创建并不难,

关键倒是,你得先想好,
创建后代码在哪里进行管理,
这些代码将被如何使用.

[1]用反射和
[2]动态编译都成
[3]甚至是DLL注入,

目前能想到的就是这三种方案..

不过这些并不重要,
重要的是你得先想好,
怎么使用代码...

------解决方案--------------------

------解决方案--------------------
动态创建一个枚举类型? 不懂. 

不过为何不根据姓名, 编号做成一个结构体, 再封装一个迭代器, 来实现你的要求. 或许这样效率会更高.
------解决方案--------------------
既然数据库中已经有了类型表了 何必还要枚举呢
从类型表中读取数据生成枚举 和 读取类型数据生成list有什么区别?
------解决方案--------------------
为什么不用Dictionary来存放?