1、实现方式
插件向宿主程序实时传送数据采样委托方式,在接口中定义委托事件,在插件中实现信息的生产,在宿主程序中完成信息的消费。
本例程实现将插件中的计数信息通过委托方式传递给宿主程序进行显示。
2、接口程序
建立Model
namespace PluginFramework
{
public class Model:EventArgs
{
public int Count {
get; set; }
public Model(int count)
{
this.Count = count;
}
}
}
插件接口
namespace PluginFramework
{
public interface IPlugin
{
IApplication Application {
get; set; }
string Name {
get; set; }
string Description {
get; set; }
string Exect(string str);
void Load();
void UnLoad();
event EventHandler<Model> CountTest;
}
}
3、插件程序
namespace PluginA
{
public class PluginA : IPlugin
{
private IApplication application = null;
private string name = "PluginA";
private string description = "这是一个窗体测试插件";
#region IPlugin Members
public IApplication Application
{
get {
return application; }
set {
application = value; }
}
public string Name
{
get {
return name; }
set {
name = value; }
}
public string Description
{
get {
return description; }
set {
description = value<