1. object obj = new object();  
  2.  
  3.             //反射创建普通对象  
  4.             object o = Activator.CreateInstance(obj.GetType());  
  5.  
  6.             //反射创建泛型集合  
  7.             Type generic = typeof(List<>);  
  8.             Type[] typeArgs1 = { obj.GetType() };  
  9.             generic=generic.MakeGenericType(typeArgs1);  
  10.             var list=Activator.CreateInstance (generic) as IList;  
  11.               
  12.             //反射创建泛型字典  
  13.             generic = typeof(Dictionary<,>);  
  14.             Type[] typeArgs2 = { typeof(string), obj.GetType() };  
  15.             generic = generic.MakeGenericType(typeArgs2);  
  16.             var dic = Activator.CreateInstance(generic) as IDictionary;