亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.Net中關于stirng轉(zhuǎn)System.Type的一種實現(xiàn)思路詳解

 更新時間:2018年05月19日 10:36:05   作者:碼農(nóng)阿宇  
這篇文章主要給大家介紹了.Net中關于stirng轉(zhuǎn)System.Type的一種實現(xiàn)思路的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

今天在上班的過程中,許長時間未聯(lián)系的大學小伙伴發(fā)來消息,帶著一個疑問來找我。

他的需求是type動態(tài)添加,這對我來說當然很easy,用泛型就好了,

隨后,手起刀落,Demo就寫出來,如下:

寫了一個方法,傳入T進行了where T:class約束,,如此easy,小伙伴怎么不會呢?然而事情并非如此簡單。

原來小伙伴的需求,簡單來說就是把string轉(zhuǎn)成type,這就有點為難了,好像據(jù)我所知,好像確實沒有直接類似這樣Convent.ToType(string typeName)這樣的方法。

突然想到了在做項目的做成中,可以取出所有的程序集并取出每個程序集下的type,最終實現(xiàn)取出程序中的所有type

AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes())

那我們是不是可以給的所有type做一個篩選,實現(xiàn)根據(jù)傳入的string類型的typeName,取出以改typeName為type的Name的元素?

實現(xiàn)方法

代碼如下:

static List<Type> ConventToTypes(string[] typeName)
  {
   var types = AppDomain.CurrentDomain.GetAssemblies()
    .SelectMany(a => a.GetTypes())
    .Where(u=>typeName.Contains(u.Name))
    .ToList();
   return types;
  }

事實證明是可行的,運行結(jié)果如下:

最終,通過一個篩選的過程,成功實現(xiàn)了“字符串轉(zhuǎn)System.Type”。

哈哈,強行在小伙伴面前裝了一逼。

在公司中午休息,把這個方法整理出來,主要為了分享(在小伙伴面前裝逼的快感)我的一種這樣解決問題的思路:兩種類型無法直接轉(zhuǎn)換時,可以嘗試著先把這些類型取出來,然后再做一個條件篩選,如果篩選后找到了結(jié)果,那么轉(zhuǎn)換成功,否則,轉(zhuǎn)換失??!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

最新評論