0 0

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

需求背景:公司目前在做一个金税打印的功能,存在一个问题,每次调用打印都会产生一个实例,而金税打印的插件有不能有多个实例,否则会报错。所以现在想出一个办法,就是通过C#编写一个ActiveX插件(相当于适配器的功能),通过C#编写的插件,来调用金税插件,采用单例模式,控制它只生成一个实例,目前存在如下问题:

1、怎么调用CLSID
2、调用到CLSID之后,怎么给他实例化
3、实例化之后,我怎么创建一个对应的类(如果是Object类型,那么这个实例就调用不到CLSID里面特有的那些属性了)

 

参考代码如下:

/// <summary>
/// 创建金税插件的对象
/// </summary>
/// <param name="clsid">金税插件的ClsId</param>
/// <returns></returns>
private static object GetActiveXObject(Guid clsid)
{
    Type t = Type.GetTypeFromCLSID(clsid);
    if (t == null)
    {
        return null;
    }
    return Activator.CreateInstance(t);
}

 

该代码创建出来的对象是Object类型的,所以没有金税插件应该有的属性和方法

请高手们提提建议该怎么解决?

如果说我的思路有问题,欢迎纠正!


问题补充:简单的说,就是一个问题

Activator.CreateInstance

创建出来的对象,怎么使用
2013年2月19日 13:44
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics