各位大师,我现在遇到一个问题,请给予解决办法,十分感谢!就是我想在程序中生成一个枚举类型,但是该枚举类型的元素需要从配置表中读取,请问该怎么解决!!!急等!!!

解决方案 »

  1.   

    Dictionary不更好吗?动态生成MS很麻烦!!
      

  2.   

    关键是我生成的这个枚举类型要用做一个函数的参数类型,所以用Dictionary搞不定的。
      

  3.   

    这个真的可以搞定.
    直接把Dictionary传进去就是了.
      

  4.   

    Lost_Painting:不好意思,我 刚开始用C#,而且对Dictionary也不熟悉,你能说的详细点儿吗?怎么传?Dictionary也能像类型那样用吗?
      

  5.   

    看这个例子
    using System;
    using System.Collections.Generic;
    using System.Linq;namespace Robot
    {
        class Program
        {
          
            static void Main(string[] args)
            {
                Dictionary<int, int> dic = new Dictionary<int, int>();
                dic.Add(1, 1);
                dic.Add(2, 2);
                dic.Add(3, 3);
                Show(dic);
                Console.ReadKey();
            }        static void Show(Dictionary<int,int> dic)
            {
                foreach (KeyValuePair<int, int> kvp in dic)
                {
                    Console.WriteLine(kvp.Key.ToString() + " " + kvp.Value.ToString());
                }
            }
        }}
      

  6.   

    Lost_Painting:十分谢谢你这么晚了还回复我的问题!不过,可能我没说清楚,你的办法还是解决不了我的问题。因为我想 一个枚举类型作为一个函数的参数,在别人调用我的函数时,调用者输入的参数值只能从我的枚举类型元素中选,而不能输入别的参数值。
      

  7.   

    C# 本身 是静态语言,不可能在 调用函数(Code)的时候实现你上面所说的情况 .net 开发环境也不支持,枚举必须定义好,才能使用,没有动态加载枚举,然后Code 调用这一说。动态语言应该可以实现你说的,但也不会那么智能(不会配置什么,程序调用就限制什么)
    这个问题 应该是你思想上有误区···
      

  8.   

    http://www.cnblogs.com/adsiz/archive/2008/01/16/1041782.html参考上面的就可以了.
      

  9.   

    EnumBuilder 类
    说明并表示枚举类型。 
    http://topic.csdn.net/u/20090814/22/b2fa8fca-c2e8-4be0-9ba1-5ef467078eb1.html
      

  10.   

    我觉得我能理解楼主的意思,因为我也需要类似的效果,比方说在config文件中配置了多条数据库的连接字符串及对应的代号,开发团队的人员能利用vs的枚举智能感知功能方便的选择具体要用到哪个连接字符串,而并不需要记住代号,通过Dictionary["代号"] 这种方式来获得。