13 个解决方案
#1
用Dictionary变相实现不就行了
#2
Dictionary不更好吗?
动态生成MS很麻烦!!
动态生成MS很麻烦!!
#3
关键是我生成的这个枚举类型要用做一个函数的参数类型,所以用Dictionary搞不定的。
#4
这个真的可以搞定.
直接把Dictionary传进去就是了.
直接把Dictionary传进去就是了.
#5
Lost_Painting:不好意思,我 刚开始用C#,而且对Dictionary也不熟悉,你能说的详细点儿吗?怎么传?Dictionary也能像类型那样用吗?
#6
看这个例子
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());
}
}
}
}
#7
Lost_Painting:十分谢谢你这么晚了还回复我的问题!不过,可能我没说清楚,你的办法还是解决不了我的问题。因为我想 一个枚举类型作为一个函数的参数,在别人调用我的函数时,调用者输入的参数值只能从我的枚举类型元素中选,而不能输入别的参数值。
#8
C# 本身 是静态语言,不可能在 调用函数(Code)的时候实现你上面所说的情况。。。
.net 开发环境也不支持,枚举必须定义好,才能使用,没有动态加载枚举,然后Code 调用这一说。。。。
动态语言应该可以实现你说的,但也不会那么智能(不会配置什么,程序调用就限制什么)
这个问题 应该是你思想上有误区···
.net 开发环境也不支持,枚举必须定义好,才能使用,没有动态加载枚举,然后Code 调用这一说。。。。
动态语言应该可以实现你说的,但也不会那么智能(不会配置什么,程序调用就限制什么)
这个问题 应该是你思想上有误区···
#10
EnumBuilder 类
说明并表示枚举类型。
http://topic.csdn.net/u/20090814/22/b2fa8fca-c2e8-4be0-9ba1-5ef467078eb1.html
说明并表示枚举类型。
http://topic.csdn.net/u/20090814/22/b2fa8fca-c2e8-4be0-9ba1-5ef467078eb1.html
#11
我觉得我能理解楼主的意思,因为我也需要类似的效果,比方说在config文件中配置了多条数据库的连接字符串及对应的代号,开发团队的人员能利用vs的枚举智能感知功能方便的选择具体要用到哪个连接字符串,而并不需要记住代号,通过Dictionary["代号"] 这种方式来获得。
#12
不清楚你究竟想干什么,程序员不光要会写程序,还应该学会如何清晰地描述一个问题!
#13
甚至后者比前者还重要得多!
#1
用Dictionary变相实现不就行了
#2
Dictionary不更好吗?
动态生成MS很麻烦!!
动态生成MS很麻烦!!
#3
关键是我生成的这个枚举类型要用做一个函数的参数类型,所以用Dictionary搞不定的。
#4
这个真的可以搞定.
直接把Dictionary传进去就是了.
直接把Dictionary传进去就是了.
#5
Lost_Painting:不好意思,我 刚开始用C#,而且对Dictionary也不熟悉,你能说的详细点儿吗?怎么传?Dictionary也能像类型那样用吗?
#6
看这个例子
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());
}
}
}
}
#7
Lost_Painting:十分谢谢你这么晚了还回复我的问题!不过,可能我没说清楚,你的办法还是解决不了我的问题。因为我想 一个枚举类型作为一个函数的参数,在别人调用我的函数时,调用者输入的参数值只能从我的枚举类型元素中选,而不能输入别的参数值。
#8
C# 本身 是静态语言,不可能在 调用函数(Code)的时候实现你上面所说的情况。。。
.net 开发环境也不支持,枚举必须定义好,才能使用,没有动态加载枚举,然后Code 调用这一说。。。。
动态语言应该可以实现你说的,但也不会那么智能(不会配置什么,程序调用就限制什么)
这个问题 应该是你思想上有误区···
.net 开发环境也不支持,枚举必须定义好,才能使用,没有动态加载枚举,然后Code 调用这一说。。。。
动态语言应该可以实现你说的,但也不会那么智能(不会配置什么,程序调用就限制什么)
这个问题 应该是你思想上有误区···
#9
#10
EnumBuilder 类
说明并表示枚举类型。
http://topic.csdn.net/u/20090814/22/b2fa8fca-c2e8-4be0-9ba1-5ef467078eb1.html
说明并表示枚举类型。
http://topic.csdn.net/u/20090814/22/b2fa8fca-c2e8-4be0-9ba1-5ef467078eb1.html
#11
我觉得我能理解楼主的意思,因为我也需要类似的效果,比方说在config文件中配置了多条数据库的连接字符串及对应的代号,开发团队的人员能利用vs的枚举智能感知功能方便的选择具体要用到哪个连接字符串,而并不需要记住代号,通过Dictionary["代号"] 这种方式来获得。
#12
不清楚你究竟想干什么,程序员不光要会写程序,还应该学会如何清晰地描述一个问题!
#13
甚至后者比前者还重要得多!