为了账号安全,请及时绑定邮箱和手机立即绑定

C# 调用注册表的CLSID,并实例化,并且调用到里面的方法

C# 调用注册表的CLSID,并实例化,并且调用到里面的方法

慕村225694 2018-12-06 14:38:01
需求背景:公司目前在做一个金税打印的功能,存在一个问题,每次调用打印都会产生一个实例,而金税打印的插件有不能有多个实例,否则会报错。所以现在想出一个办法,就是通过C#编写一个ActiveX插件(相当于适配器的功能),通过C#编写的插件,来调用金税插件,采用单例模式,控制它只生成一个实例,目前存在如下问题: 1、怎么调用CLSID2、调用到CLSID之后,怎么给他实例化3、实例化之后,我怎么创建一个对应的类(如果是Object类型,那么这个实例就调用不到CLSID里面特有的那些属性了)   参考代码如下: /// /// 创建金税插件的对象 /// /// 金税插件的ClsId /// private static object GetActiveXObject(Guid clsid) { Type t = Type.GetTypeFromCLSID(clsid); if (t == null) { return null; } return Activator.CreateInstance(t); }   该代码创建出来的对象是Object类型的,所以没有金税插件应该有的属性和方法 请高手们提提建议该怎么解决? 如果说我的思路有问题,欢迎纠正!
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

直接vs中引用.每必要那么麻烦
查看完整回答
反对 回复 2018-12-09
?
饮歌长啸

TA贡献1951条经验 获得超3个赞

其实里面的方法是可以调用到的,只是在IE里面调试JS的时候看不到而已。   例如:里面有个Text属性,我直接obj.Text是可以调用到的,只是看不到,就像是预定义的一个内置属性,这可能就是ActiveX创建的js对象,跟直接在js代码里面创建的对象一个不同点吧
查看完整回答
反对 回复 2018-12-09
  • 2 回答
  • 0 关注
  • 583 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信