как получить выбранный объект узла подключения окна VS Server Explorer DDEX

m добавив некоторые параметры для узла подключения в обозревателе серверов для моего расширения VS. Для одного из пунктов меню, которые я добавил, мне нужно получить строку подключения для самого выбранного подключения, поэтому я попробовал это, добавив некоторый код в событие BeforeQueryStatus, а также в метод обработчика команд. Но похоже, что яЯ что-то упустил, так как каждый раз, когда я хочу получить экземпляр DataViewHierarchyAccessor, я всегда получаю нулевое значение. Хотя, если я делаю то же самое, но на нижнем уровне узел работает нормально. Я использовал следующий код без удачи:

IVsDataExplorerNodeSelection nodeSelection = (IVsDataExplorerNodeSelection) Package.GetGlobalService (typeof (IVsDataExplorerNodeSelection));

Иерархия IVsUIHierarchy = Marshal.GetTypedObjectForIUnknown (ierarchyPtr, typeof (IVsUIHierarchy)) как IVsUIHierarchy;

Кто-нибудь сделал что-то подобное для узла подключения окна обозревателя сервера?

Обновить:

Похоже, я получил некоторый прогресс в этом, я просто попробовал это:

EnvDTE80.DTE2 _applicationObject = GetDTE2();
UIHierarchy uih = _applicationObject.ToolWindows.GetToolWindow("Server Explorer") as UIHierarchy;
Array selectedItems = (Array)uih.SelectedItems;
if (null != selectedItems)
    {
        foreach (UIHierarchyItem selItem in selectedItems)
        {
            SelectedItem prjItem = selItem.Object as EnvDTE.SelectedItem;
            string name = prjItem.Name;
        }
    }

Теперь мой вопрос: есть лилучший тип, чтобы привести список выбранных элементов? вместо EnvDTE.SelectedItem.

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос