欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

字符串轉(zhuǎn)換成枚舉類型的方法

 更新時間:2014年01月18日 15:29:20   作者:  
字符串可以向int, bool等類型轉(zhuǎn)變,但是字符串是否可以向枚舉轉(zhuǎn)變呢?一起看下邊的例子

用戶User的注冊類型有Super和Common兩種

復(fù)制代碼 代碼如下:

public eumn RegistrationType
{
    Super;
    Common;
}

public User
{
    RegistrtionType type;
    ......
}

考慮這樣一種情況,通過某種服務(wù),客戶端會獲得服務(wù)器端傳過來的類名以及各個屬性的值,包括User,也有其他的類Product, Shop等,當(dāng)然這都是字符串。在客戶端,我們需要將這些信息組裝成為一個類實例。我們可以通過if來判斷傳過來的類名,并且new一個實例出來,判斷各個屬性并且賦值。但是如果我們不確定會有哪幾個類傳過來,就無法用if來判斷。此時我們可以使用反射來完成,只要獲得了類名,就可以反射出一個類的實例,然后給屬性賦值。
比如說,服務(wù)器端傳過來“User Super",即這是一個User類,其RegistrtionType為Super. 如何將這個Super字符串轉(zhuǎn)為枚舉?可以使用如下方法,說先反射出一個實例user,然后獲取其屬性,再賦值。
prop.SetValue(user, TypeDescriptor.GetConverter(prop.PropertyType).ConvertFromInvariantString("Super"), null);

相關(guān)文章

最新評論