Asp.Net List .ConvertAll

摘要:Asp.Net List .ConvertAll

剛剛遇到已一個問題~~

我使用了一個List集合~

例如List<Class1> List1;

後來我在玩Reflection~

所以我必須把List<Class1>的物件型態都轉成Object~

原本是想說就跑個迴圈去轉型~~可是這樣感覺有點笨~

後來發現有個ConvertAll的函式可以用~

用了老半天~~

後來終於搞懂了~~

先講一下用法~

List<object> oo=List1.ConvertAll(new Converter<Class1,object>(CTemp));

這段是什麼意思呢~~

首先ConvertAll必須給個Converter的參數~Converter<這裡給來源物件型態,這裡給目標物件型態>(這邊須給一個轉換用的函式名稱)

如上式所示~我將Class1轉換成object型態~~然後要透過CTemp這個函式去轉

那我CTemp是寫在背後給別人繼承的,如下

protected object CTemp(object cObject)
        {
            return (object)cObject;
        }

那我Ctemp是因為我沒有做什麼太特別的變化所以這樣寫~~

項如果有特別的需求像是除了轉型外還會做一些變化的話就在這函式中去撰寫

可以玩看看~~我也搞了一下下才搞清楚這在幹嘛