温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中EmployeePlug类的作用是什么

发布时间:2021-07-08 15:03:14 来源:亿速云 阅读:137 作者:Leah 栏目:编程语言

C#中EmployeePlug类的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1。这个类实现了IPlug接口。由于主程序根本不会知道插件内部的类是如何定义的,这非常重要,主程序需要使用IPlug接口和各个插件通信。这种设计利用了面向对象概念里面的多态性。多态性允许运行时,可以通过指向基类的引用,来调用实现派生类中的方法。

2。这个类被两个属性标识,这样主程序可以判断这个插件是不是有效的。在C#中,要给一个类标识一个属性,你得在类的定义之前声明属性,内容附在括号内。

3。简明起见,例子只是使用了直接写入代码的数据。而如果这个插件是个正式的产品,那么数据总是应该放在数据库中或者文件中,各自所有的数据都应该仅仅由插件本身来管理。C# EmployeePlug类的数据在这里用EmployeeData对象来存储,那也是一个类型并且实现了IPlugData接口。IPlugData接口在IPlugData.cs中定义,它提供了最基础的数据交换功能,用于主程序和插件之间的通讯。所有支持IPlugData接口的对象在下层数据变化的时候将提供一个通知。这个通知实际上就是DataChanged事件的发生。

4。当主程序需要显示某个插件所含数据列表的时候,它会调用GetData方法。这个方法返回IPlugData对象的一个数组。这样主程序就可以对数组中的每个对象使用ToString方法得到数据以建立树的各个节点。ToString方法是EmployeeData类的一个重载,用于显示雇员的名字。

5。IPlug接口也定义了Save和Print方法。定义这两个方法的目的在于当有需要打印或者保存数据的时候,要通知一个插件。EmployeePlug 类就是用于实现打印和保存数据的功能的。在使用Save方法的时候,需要保存数据的位置将会在方法调用的时候提供。这里假设主程序会向用户查询路径等信息。路径信息的查询是主程序提供给各个插件的服务。对于Print方法,主程序将把选项和内容传递到
System。Drawing。Printing。PrintDocument类的实例。这两种情况下,和用户的交互操作都是一致的由主程序提供的。

主程序框架被设计为两个程序集。***个程序集是Host.exe,它提供了主程序的Windows窗体界面。第二个程序集是HostCommon.dll,它提供了主程序和插件之间进行通信所需的所有类型定义。比如,IPlug接口就是在 HostCommon.dll里面配置的,这样它可以被主程序和插件等价的访问。这两个程序集在一个文件夹内,同样的,附加的作为插件的程序集也需要被配置在一起。那些程序集被配置在plugs文件夹内(主程序目录的一个子文件夹)。C# EmployeePlug类在Employee.plug 程序集中定义,而CustomerPlug类在Customer.plug程序集中定义。这个例子指定插件文件以.plug为扩展名。事实上这些插件就是个普通的.NET类库文件,只是通常库文件使用.dll扩展名,这里用.plug罢了。特殊的扩展名对于程序运行是完全没有影响的,但是它可以让用户更明确的知道这是个插件文件。

看完上述内容,你们掌握C#中EmployeePlug类的作用是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI