使用反射將string轉換為enum

來源:互聯網
上載者:User

標籤:string轉換   技術   post   str   圖片   contains   parse   display   就是   

很簡單就一句話的代碼。

1                             if (item.PropertyType.IsEnum)2                             {3                                 item.SetValue(obj, Enum.Parse(item.PropertyType, val), null);4                             }

怎麼樣就是這麼簡單。哈哈哈...

貼出完整Demo。

 1             public static void SetObjValue(object obj, string[] valueList) 2             { 3                 var objProperties = obj.GetType().GetProperties(); 4                 foreach (var item in objProperties) 5                 { 6                     var itemName = item.Name + ":"; 7                     var mathCount = valueList.Where(p => p.Contains(itemName)).Count(); 8                     if (mathCount == 1) 9                     {10                         var val = valueList.Single(p => p.Contains(itemName));11                         val = val.Replace(itemName, "");12                         try13                         {14                             item.SetValue(obj, val, null);15                         } 16                         catch17                         {18                             if (item.PropertyType.IsEnum)19                             {20                                 item.SetValue(obj, Enum.Parse(item.PropertyType, val), null);21                             }22                         }23                     }24                 }25             }
View Code

 

使用反射將string轉換為enum

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.