Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "setColor.dll"); // 加载程序集(EXE 或 DLL) 
            object obj = assembly.CreateInstance("SetColor" + "." + "TableBLL"); // 创建类的实例 
            Type type = assembly.GetType("SetColor" + "." + "TableBLL");
            MethodInfo methodListAll = type.GetMethod("ListAll", BindingFlags.Instance | BindingFlags.Public);
            object r = methodListAll.Invoke(obj, new object[] { });  //r中有listAll方法返回的集合问题1 :
我如何在不知道类型的情况下 遍历r中的内容。。
上述情况如果 用 List<table> list= (List<table>)r  就是知道里面存的是这种实体类型的情况下转换就可以读取!
我现在要的效果是不知道的情况下怎么读取?问题2:
如果我只知道实体类的名字,而没有对象,我又怎么获取r里面的值呢 

解决方案 »

  1.   

    public static T CreateInstance<T>(object[] obj)
            {
                Type type = typeof(T);
                T t = (T)Activator.CreateInstance(type, reader);
                return t;
            }
      

  2.   


    T t = (T)Activator.CreateInstance(type, obj);
      

  3.   


    T t = (T)Activator.CreateInstance(type, obj);
    额 我不知道如何去调用你这个方法。。好像不可以调的?
      

  4.   

    不知道类型,你还可以对r继续反射得到他的属性,遍历属性,getvalue得到属性值
      

  5.   


    额 我不知道具体的方法请老师指点~
    我是这样的 PropertyInfo[] pros = r.GetType().GetProperties(); 可是获取的属性不是那个集合的属性