У меня есть метод в Usercontrol с этим кодом
public bool GetActiveDocument(ref EnvDTE.Document doc)
{
try
{
var dte = (DTE2)GetService(typeof(SDTE));
doc = dte.ActiveDocument;
if (doc == null)
{
MessageBox.Show("There isn't any file open in the Code Editor");
return false;
}
else return true;
}
catch (Exception)
{
MessageBox.Show("There was a problem getting the actual file, verify if it is open");
return false;
}
}
Я хочу переместить этот метод в класс «Proxy», который будет действовать в качестве посредника между Visual Studio и моим приложением.Проблема заключается в том, что GetService корректно возвращает активный документ, только если это вызов внутри элемента управления.Когда я перемещаю этот метод в класс Proxy, GetService не имеет определения.Я ищу, что этот метод происходит от ComponentModel.Component, поэтому я сделал Proxy-класс производным от Component.Все компилируется нормально, но всегда, когда я запрашиваю активный документ, возникает исключение.Мне кажется, что я плохо понимаю, как работает метод GetService ().Пожалуйста, помогите с этим.