我有这样的枚举。如何将枚举转换为类型
public enum eTypeVar
{
Int,
Char,
Float
};
,我想将它转化成打字,做这样的事情:
eTypeVar type=eTypeVar .Int;
string str= eTypeVar.ToString .ToLower();
(str as type) a=1;
我会怎么做呢?
我有这样的枚举。如何将枚举转换为类型
public enum eTypeVar
{
Int,
Char,
Float
};
,我想将它转化成打字,做这样的事情:
eTypeVar type=eTypeVar .Int;
string str= eTypeVar.ToString .ToLower();
(str as type) a=1;
我会怎么做呢?
我想你需要的是:
Dictionary<eTypeVar, Type> _Types = new Dictionary<eTypeVar, Type> {
{ eTypeVar.Int, typeof(Int32) },
{ eTypeVar.Char, typeof(Char) },
{ eTypeVar.Float, typeof(Single) }
};
public Boolean Check(eTypeVar type, Object value)
{
return value.GetType() == _Types[type];
}
您可以将变量不能转换成一个类型为另一个变量声明。你应该重新考虑你的设计。无论如何,它不会让你在做什么。如果你想有一些原因,你可以使用
Reflection和通用方法动态代码
String name = "int";
int value = 1;
:如果你知道你要使用一个INT,为什么不申报。
public void DoSomething<T>(T value)
{
....
}
然后你可以使用反射和
invoke它
construct在运行时的方法。但是现在我认为你需要更多的C#基础来处理这个功能。
我不知道它的int我编辑的排队 –
@HodayaShalom编辑我的答案。 –
我用这个枚举创建一个变量,并且我想检查是否适合他的类型值 –
可以使用Enum.Parse
如:
YourEnumType realValue = Enum.Parse(typeof(YourEnumType), "int");
你可以试试这个... 比如你有一个像这样
public enum Emloyee
{
None = 0,
Manager = 1,
Admin = 2,
Operator = 3
}
枚举然后转换枚举该
Emloyee role = Emloyee.Manager;
int roleInterger = (int)role;
末尾枚举字符串..
Emloyee role = Emloyee.Manager;
string roleString = role.ToString();
枚举在哪里?你想达到什么目的? –
如果您可以解释您尝试解决的问题而不是您尝试创建的解决方案,那可能会更好。 – Stijn
我有枚举,其中包含“int”“char”ec –