`
yidongkaifa
  • 浏览: 4060732 次
文章分类
社区版块
存档分类
最新评论

C#插件技术基础

 
阅读更多

从原理上很简单,先定义统一接口,主程序根据预定义的接口加载DLL,示例代码

public static int Test()
{
try
{
System.IO.FileInfo fi = new System.IO.FileInfo("noock.demo.plugins.dll"); // 加载插件库
System.Console.WriteLine("Loading file:{0}", fi.FullName);
System.Reflection.Assembly plugin = System.Reflection.Assembly.LoadFile(fi.FullName);

string[] names = { "noock.demo.plugins.HelloMessager", "noock.demo.plugins.ByeMessager" }; // 示例插件
foreach (string className in names)
{
System.Type ta = plugin.GetType(className, true);
Object oa = Activator.CreateInstance(ta); // 要求有一个不带参数的构造函数,如果需要参数也可以使用其它的重载函数
if (!(oa is IMessager)) // IMessager为统一接口
throw new Exception(string.Format("Not a class type implemented interface IMessager"));
IMessager ia = oa as IMessager;
MessageBox.Show(ia.GetMessage());
}
}catch(Exception ex){
MessageBox.Show(String.Format("Plug-in test failed:{0}/r/n{1}", ex.Message, ex.StackTrace));
return -1;
}
return 0;
}

分享到:
评论

相关推荐

    C#面向对象编程 源码

    本书既阐述了C#的基础知识,又介绍了C#的高级应用技术,包括多线程、异步调用、图形图像处理、游戏编程、与COM等非托管代码的互操作,以及插件编程等。 本书适合所有希望了解和掌握C#和.NET的开发人员阅读,是大专...

    基于protobuf-net的C# Protobuf 插件.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    c#学习方法

    课程内容:游戏与Unity发展历史概述、 3D 模型基础、 地形编辑器、光源、音频、Unity脚本程序基础、GUI、3D模型动画的导入 与基本应用、物理学模拟(初级)、碰撞盒与触发器、协程、SendMessage数据传值技术等。...

    C#项目文件云存储平台(类百度网盘)+开题报告文档+需求文档+源码

    界面美观,功能齐全,适合用作毕业设计、课程设计作业等,项目均经过测试,可快速部署运行! 1、该资源内项目代码都经过测试运行成功,功能ok的...后端技术:C#、数据库、网络 难点:查询功能、管理功能、文件操作

    基于C#制作的简易代码生成器.zip

    吸收市面上的代码生成插件如 EF 、MyBatis Generator、MyBatis Plus 等框架经验,希望手动使用 WinForm 实现一款简易的代码生成器。主要功能是通过读取用户设定的数据库中的数据表,由用户选定其中的若干个数据表,...

    基于C#实现的井字棋游戏开发源码+项目说明.zip

    基于C#实现的井字棋游戏开发源码+项目说明.zip基于C#实现的井字棋游戏开发源码+项目说明.zip基于C#实现的井字棋游戏开发源码+项目说明.zip基于C#实现的井字棋游戏开发源码+项目说明.zip基于C#实现的井字棋游戏开发...

    基于 UnBot 插件修改的机器人控制插件,作为 AzerothCore 机器人模组的配套插件.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    wpf编程宝典c#2010版pdf(全)2/3包,共118M

    书中不仅全面介绍了常见的图形界面编程技术,而且对WPF中非常有特色的文档和打印、音频和视频、动画、3D图形开发、多线程和插件等内容也进行了比较深入的介绍。 第1章 WPF概述  1.1 Windows图形演化  1.1.1 ...

    在LeetCode上刷题的记录,实现的代码都是C#与t-sql

    可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 可下载学习借鉴,你会有所收获。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。2. 部分字体以及插图等来自网络,若是...

    基于WebUploader插件的三种图片上传实例(包含C#,JAVA两种版本).zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    wpf编程宝典c#2010版pdf(全)1/3包,共118M

    书中不仅全面介绍了常见的图形界面编程技术,而且对WPF中非常有特色的文档和打印、音频和视频、动画、3D图形开发、多线程和插件等内容也进行了比较深入的介绍。 第1章 WPF概述  1.1 Windows图形演化  1.1.1 ...

    SAF 0.2.0.32 fot .NET 2.0 ( 含帮助 )

    SAF 0.2.0.32 fot .NET 2.0 ( 含帮助 ) <br>SAF: Sinoprise Application Framework <br>Sinoprise.Base.dll是Sinoprise Application Framework基础组件包,他含有与应用无关,与平台无关的代码(未在MONO上...

    基于C#开发的强化学习多智能体路径规划项目源码(毕设).zip

    4、如果基础还不错,又热爱学习钻研,也可基于此项目基础上进行修改进行二次开发。 本人也是技术狂热者,如果觉得此项目对您有价值,欢迎下载使用! 无论您是运行还是二次开发,遇到问题或困惑,欢迎私信交流学习。

    基于C#的开源音乐播放器MetroPlayer.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    C# 基于串口的温度监控软件.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    毕设&课设&项目&实训-基于Replugin插件化基础上业务实现应用,涵盖音视频.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

Global site tag (gtag.js) - Google Analytics