private static void ShowVisualizer(IVisualizerObjectProvider objectProvider) { var data = (IList)objectProvider.GetObject(); var itemType = data.GetType().GetProperty("Item").PropertyType; if (itemType == typeof(string)) { var prim = new List <PrimitiveListItem>(); foreach (string strItem in data.Cast <string>()) { var pli = new PrimitiveListItem(); pli.Value = strItem; prim.Add(pli); } ListDebuggerVisualizerClient.ShowVisualizerForm(prim, itemType.Name); } else if (itemType.IsPrimitive) { var prim = new List <PrimitiveListItem>(); foreach (object objItem in data.Cast <object>()) { var pli = new PrimitiveListItem(); pli.Value = objItem.ToString(); prim.Add(pli); } ListDebuggerVisualizerClient.ShowVisualizerForm(prim, itemType.Name); } else { ListDebuggerVisualizerClient.ShowVisualizerForm(data, itemType.Name); } }
private static void ShowVisualizer(IVisualizerObjectProvider objectProvider) { CosturaUtility.Initialize(); var jsonStream = objectProvider.GetData(); var reader = new StreamReader(jsonStream); string json = reader.ReadToEnd(); var container = Newtonsoft.Json.JsonConvert.DeserializeObject <VisualizerDataContainer>(json); if (container.TypeName == "string") { var prim = new List <PrimitiveListItem>(); foreach (string strItem in container.Data.Cast <string>()) { var listItem = new PrimitiveListItem(); listItem.Value = strItem; prim.Add(listItem); } ListDebuggerVisualizerClient.ShowVisualizerForm(prim, container.TypeName); } else if (container.IsPrimitive) { var primitiveList = new List <PrimitiveListItem>(); foreach (object objItem in container.Data.Cast <object>()) { var primitiveListItem = new PrimitiveListItem(); primitiveListItem.Value = objItem?.ToString() ?? ""; primitiveList.Add(primitiveListItem); } ListDebuggerVisualizerClient.ShowVisualizerForm(primitiveList, container.TypeName); } else { ListDebuggerVisualizerClient.ShowVisualizerForm(container.Data, container.TypeName); } }