public string[] Top20(string input) { if (input == null) { return Mappings.Select(x => x.Item1).ToArray(); } Type reqType = Type.GetType(Mappings.First(x => x.Item1 == input).Item3); Type boxType = Type.GetType(Mappings.First(x => x.Item1 == input).Item2); Type boxedType = typeof(BoxQuery<>).MakeGenericType(boxType); var boxQuery = Context.Resolve(boxedType); MethodInfo takeMethod = typeof(Queryable).GetMethod("Take").MakeGenericMethod(boxType); var result = ((IEnumerable<object>)takeMethod.Invoke (null, new object[] { boxQuery, 20 })).ToList(); var presenter = new DumperBoxPresentation(); var box = BoxExtensions.CreateFor(boxType); result.ToList().ForEach(x=>box.Add(x)); Writer.WriteLine(presenter.AsString(box)); return null; }
public string[] Dump(string input) { IList<HttpProxyEntity> list = GetList(input); if (list == null) return lists; var boxed = new Box<HttpProxyBoxMap>(list); var presenter = new DumperBoxPresentation(); Writer.WriteLine(presenter.AsString(boxed)); return null; }