Я пытаюсь реализовать Windows Update Agent API асинхронные методы загрузки/установки, однако, у меня возникли проблемы, реализующий классы обратного вызова (IInstallationProgressChangedCallback
и т.д.)Нет подходящий метод не нашел переопределить из-взаимодействия интерфейса
Вот пример реализации класс, который не работает using System; с использованием WUApiLib;
namespace ConsoleApplication1
{
class DownloadProgressCallback : IDownloadProgressChangedCallback
{
public override void Invoke(IDownloadJob downloadJob, IDownloadProgressChangedCallbackArgs callbackArgs)
{
Console.WriteLine("Do something");
}
}
}
Всякий раз, когда я пытаюсь скомпилировать проект, содержащий этот класс, я получаю
ConsoleApplication1.DownloadProgressCallback.Invoke(WUApiLib.IDownloadJob, WUApiLib.IDownloadProgressChangedCallbackArgs)': no suitable method found to override
Для справки, вот как определяется интерфейс (метаданные):
#region Assembly Interop.WUApiLib.dll, v2.0.50727
// F:\src\ConsoleApplication1\ConsoleApplication1\obj\x86\Debug\Interop.WUApiLib.dll
#endregion
namespace WUApiLib
{
[InterfaceType(1)]
[Guid("8C3F1CDD-6173-4591-AEBD-A56A53CA77C1")]
[TypeLibType(384)]
public interface IDownloadProgressChangedCallback
{
void Invoke(IDownloadJob downloadJob, IDownloadProgressChangedCallbackArgs callbackArgs);
}
}
Я не очень знакомы с COM/Interop, поэтому я потерял то, что я делаю неправильно здесь.
О, мальчик, я чувствую себя глупо! Спасибо! – AdmiralNemo
Я провел последний час для устранения неполадок, просто потому, что VS2005 автоматически добавляет ключевое слово 'override', выполняя операцию« Интерфейс реализации ». Мне это нравится (MS-мир) !!!! Спасибо за ваш ответ –