我有這樣的枚舉。如何將枚舉轉換爲類型
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 –