首页 > 解决方案 > CS0144 - 无法创建抽象类或接口“IDownloadHandler”的实例 (CefSharp)

问题描述

我正在研究原始的 Web 浏览器。我正在使用 CefSharp,版本 75.1.141 (NuGet)。我想用我的浏览器下载一些文件,所以我下载了 DownloadHandler.cs 并导入到项目中。当我写“browser.DownloadHandler = new IDownloadHandler();” 在我的表单中,我收到此错误:错误 CS0144 无法创建抽象类或接口 'IDownloadHandler' 的实例。”我尝试了在互联网上找到的所有内容,但没有任何效果。有谁知道如何解决此错误?

我尝试了其他版本的 IDownloadHandler.cs,我尝试编写“browser.DownloadHandler = new IDownloadHandler();” 到Public Form1,private void Form1_Load,没有任何效果。还是一样的错误。

Form1.cs:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
using CefSharp.Handler;
using CefSharp.Example;

namespace vBrowser
{
    public partial class Form1 : MetroFramework.Forms.MetroForm
   {
        public Form1()
        {
            CefSettings settings = new CefSettings();
            CefSharp.Cef.Initialize(settings);
            browser.DownloadHandler = new IDownloadHandler();

            InitializeComponent();
        }

        public ChromiumWebBrowser browser;

下载处理程序.cs:

using System;

namespace CefSharp.Example.Handlers
{
    public class DownloadHandler : IDownloadHandler
    {
        public event EventHandler<DownloadItem> OnBeforeDownloadFired;

        public event EventHandler<DownloadItem> OnDownloadUpdatedFired;

        public void OnBeforeDownload(IWebBrowser chromiumWebBrowser, 
IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback 
callback)
        {
            OnBeforeDownloadFired?.Invoke(this, downloadItem);

            if (!callback.IsDisposed)
            {
                using (callback)
                {
                    callback.Continue(downloadItem.SuggestedFileName, 
showDialog: true);
                }
            }
        }

        public void OnDownloadUpdated(IWebBrowser chromiumWebBrowser, 
IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback 
callback)
        {
            OnDownloadUpdatedFired?.Invoke(this, downloadItem);
       }
    }
}

标签: c#visual-studiocefsharp

解决方案


推荐阅读