Я пытался создать визуализатор для IDictionary или ICollectionКак создать визуализатор строк Visual Studio?
Тогда как простой визуализатор (без диалога, я имею в виду ususal строки визуализатора, которая появляется при наведении курсора мыши на переменном, смотрите изображение ниже), я хочу, чтобы мой обычай text, я хочу передать коллекцию в ее список (IE StringCollection to List (Of String) или List), а затем я смогу увидеть его в визуализаторе. Или для словарей показать списки визуализаторов для ключей и значений.
Любые идеи о том, как реализовать или даже начать?
В ближайшее время я обновлю свой вопрос.
Это то, что я думал о:
using System.Collections.Specialized;
using System.Collections;
namespace ConsoleApplication2
{
static class Program
{
static void Main(string[] args)
{
System.Collections.Specialized.StringCollection collection = new StringCollection();
collection.AddRange(new string[] { "string1", "string2", "sting3" });
string[] visualizable = collection.ConvertToVisualizableList();
Dictionary<string,string> dic = new Dictionary<string,string>
{
{"key1","value"},
{"key2","value"}
};
string[,] visualizable2 = dic.ConvertToVisualizableDictionary();
}
static string[] ConvertToVisualizableList(this IList collection)
{
lock (collection)
{
if (collection == null) return null;
int length = collection.Count;
string[] list = new string[length];
for (int i = 0; i < length; i++)
{
object item = collection[i];
if (item != null) list[i] = item.ToString();
}
return list.ToArray();
}
}
static string[,] ConvertToVisualizableDictionary(this IDictionary dictionary)
{
if (dictionary == null) return null;
int length = dictionary.Count;
string[,] list = new string[length, 2];
int i = 0;
foreach (object item in dictionary.Keys)
{
list[i, 0] = item.ToString();
object value = dictionary[item];
if(value!=null) list[i, 1] = value.ToString();
i++;
}
return list;
}
}
}
Это VS визуализаторы для массива и многомерные массивы:
Я хочу использовать что-то подобное для ICollection (или IList), IDictionary и т. Д.
Обратите внимание, что в массивах визуализатор отображает каждый вложенный объект. Это на самом деле то, что я хочу достичь:
.
Попробуйте визуализировать список, и вы увидите, что есть личное значение _items, чтобы вы могли видеть его элементы. Я хочу добиться чего-то подобного в коллекции и словаре.
На самом деле я хочу контролировать область, где появляется строка, я хочу, чтобы это стало местом для визуализатора, возможно ли это? – Shimmy
Я знаю, что API-интерфейс визуализатора является широким и мощным, но вам придется загрязнять руки. Было ли какое-либо из этих трех вышеприведенных ссылок совсем рядом с тем, как вы хотите, чтобы ваш визуализатор работал? я бы выбрал один и бежал с ним. Есть десятки статей из основного поиска Google: http://www.google.com/search?rlz=1C1GGLS_en-USUS293US304&sourceid=chrome&ie=UTF-8&q=visual+studio+2005+custom+visualizer И это один из докторов Добба выглядит особенно перспективным: http: //www.ddj.com/windows/184406197 –
Большое спасибо, было очень полезно! Если я создам визуализатор, я отправлю его здесь! – Shimmy