1
我试图实现Windows Update Agent API异步下载/安装方法来覆盖,但是,我有实现的回调类(IInstallationProgressChangedCallback
等)麻烦没有合适的方法找到从互操作界面
下面是一个例子实施不起作用的类 使用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通过执行操作'Implement Interface'自动添加关键字'override'。我喜欢它(MS世界)! 谢谢你的答案 –