⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interface.cs

📁 自己写的可扩展插件文件管理器
💻 CS
字号:
using System;
using System.Collections;
using System.Windows.Forms;

namespace Core.Services.Sdk
{
	/// <summary>
    /// IPlugin提供了一個插件到宿主程序的通讯接口,宿主程序通过它来获取插件信息和执行操作。
	/// </summary>
	public interface IPlugin:IDisposable
	{

   	   /// <summary>
	   /// 返回一个包含插件基础信息的PluginInfo对象
	   /// </summary>
	   PluginInfo PluginInfo
       {
           get;
       }

       /// <summary>
       /// 用于与用户交互的窗体,没有可设为null
       /// </summary>
       Form Window
       {
           get;
       }

       /// <summary>
       /// 宿主程序将开辟一个新的线程来执行此方法
       /// <param name="Targets">要处理的对象的文件名或目录名列表</param>
       /// </summary>
       void AssignTask(ArrayList Targets);


       /// <summary>
       /// 当任务进度改变时,将触发该事件
       /// </summary>
       event ProgressChangedEventHandler ProgressChanged;

    }



    /// <summary>
    /// 提供简单的插件信息
    /// </summary>
    public interface IPluginInfo
    {



        /// <summary>
        /// 名称
        /// </summary>
        string Name
        {
            get;
        }


        /// <summary>
        /// 版本
        /// </summary>
        Version Version
        {
            get;
        }



        /// <summary>
        /// 作者
        /// </summary>
        string Author
        {
            get;
        }

        /// <summary>
        /// 描述
        /// </summary>
        string Description
        {
            get;
        }

    }


    /// <summary>
    /// 包含了当前任务进度信息的事件参数
    /// </summary>
	public class ProgressChangedEventArgs:EventArgs
	{
		private int _Progress;
        private int _Max;

        /// <summary>
        /// 创建一个包含了进度信息的事件参数
        /// <param name="Progress">已完成的进度</param>
        /// <param name="Progress">当Progress的值与Max相等时,认为任务已完成</param>
        /// </summary>
		public ProgressChangedEventArgs(int Progress, int Max)
		{
			_Progress=Progress;
            _Max = Max;
		}

        /// <summary>
        /// 已完成的进度
        /// </summary>
		public int Progress
		{
			get { return _Progress; }
		}

        /// <summary>
        /// 进度的最大值
        /// </summary>
        public int Max
        {
            get { return _Max; }
        }
	}

    /// <summary>
    /// ProgressChanged事件的托管方法
    /// </summary>
	public delegate void ProgressChangedEventHandler(object sender,ProgressChangedEventArgs e);
/*
    /// <summary>
    /// Finished事件的托管方法
    /// </summary>
    public delegate void TaskFinishedEventHandler(object sender,EventArgs e);*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -