2011-02-15 70 views
1

我有了4名列表像一個構造函數的類:有沒有這樣的事列出的在C#中的數組

Public MyClass(List<MyObjA> ObjAs, List<MyObjB> ObjBs,etc.) 

我想通過檢查使用反射來確定每個列表的內容IList的第一項並做一些處理。我可以檢查每個IList中做到這一點,但因爲每個的IList中有一個特定的泛型類型傳入通過了它會更好,如果我可以只通過的ILists這樣,我可以通過數組只是遍歷數組,但這是不行的(例如MyObjA或MyObjB等)。我能想到的唯一事情就是傳遞一組對象,如:

MyClassWithObjArrayConstructor a = new MyClassWithObjArrayConstructor(new object[ObjAs,ObjBs,ObjCs,ObjDBs]); 

有沒有更好的方法來做到這一點?

回答

0

如何傳遞一個List<List<BaseObj>

您所有的4種對象從BaseObj繼承。然後,使用反射,你可以做你的處理。

0

看起來你需要重新考慮這一點,如果它與不同的不明物體類型的多個列表實例MyClass的看起來太寬泛。

我會,要麼處理一個類型的預定義的對象,或者說還只涉及只有一個類型的對象,但要使用泛型類的列表中選擇一個類。