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

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

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

用戶User的注冊(cè)類型有Super和Common兩種

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

public eumn RegistrationType
{
    Super;
    Common;
}

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

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

相關(guān)文章

最新評(píng)論