我有一个类有4个列表的构造函数,如:
Public MyClass(List<MyObjA> ObjAs, List<MyObjB> ObjBs,etc.)
我想通过检查IList的第一项来使用反射来确定每个列表的内容并进行一些处理。我可以通过检查每个IList来做到这一点,但是如果我只能传递一个IList数组就可以更好地遍历数组,但这不会有效,因为传入的每个IList都传入了一个特定的泛型类型(例如MyObjA或MyObjB等)。我唯一能想到的就是传递一系列对象,如:
MyClassWithObjArrayConstructor a = new MyClassWithObjArrayConstructor(new object[ObjAs,ObjBs,ObjCs,ObjDBs]);
有更好的方法吗?
答案 0 :(得分:0)
传递List<List<BaseObj>
怎么样?
所有4种对象类型都从BaseObj继承。然后,使用反射,你可以进行处理。
答案 1 :(得分:0)
看起来你需要重新考虑一下,如果MyClass用不同的未知对象类型的多个列表进行实例化,它看起来过于宽泛。
我会有一个类处理一种类型的预定义对象的列表,或者一个仍然只处理一种类型的对象但是使用泛型的类。