字符串轉(zhuǎn)換成枚舉類型的方法
用戶User的注冊(cè)類型有Super和Common兩種
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)文章
C#實(shí)現(xiàn)簡(jiǎn)單合并word文檔的方法
這篇文章主要介紹了C#實(shí)現(xiàn)簡(jiǎn)單合并word文檔的方法,涉及C#針對(duì)word文檔的讀取、插入、保存等技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-09-09C# winfrom 模擬ftp文件管理實(shí)現(xiàn)代碼
從網(wǎng)上找到的非常好用的模擬ftp管理代碼,整理了一下,希望對(duì)需要的人有幫助2014-01-01C#中的文件路徑獲取函數(shù)和文件名字獲取函數(shù)小結(jié)
這篇文章主要介紹了C#中的文件路徑獲取函數(shù)和文件名字獲取函數(shù)小結(jié),本文講解了獲取絕對(duì)文件路徑、獲取文件名字、獲得包含 path 目錄信等內(nèi)容,需要的朋友可以參考下2015-01-01C#實(shí)現(xiàn)驗(yàn)證身份證是否合法的方法
這篇文章主要介紹了C#實(shí)現(xiàn)驗(yàn)證身份證是否合法的方法,實(shí)例分析了通過自定義函數(shù)實(shí)現(xiàn)針對(duì)身份證合法性驗(yàn)證的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03c#操作sqlserver數(shù)據(jù)庫的簡(jiǎn)單示例
這篇文章主要介紹了c#操作sqlserver數(shù)據(jù)庫的簡(jiǎn)單示例,需要的朋友可以參考下2014-04-04