C#调用CreateObject

开发 后端
这里介绍C#调用CreateObject的方法就是 System.Activator.CreateInstance. 后续的对象函数的调用可以通过InvokeMember方法来实现。

经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等。虽然C#中可以通过使用 VB的命名空间的方法来实现C#调用CreateObject函数,但是这样比较没什么用,因为生成的对象的所带有的方法都不能使用。C#中还可以直接用添加引用的方式来调用一些对象,前提是你知道该添加哪个引用。

当我上网搜索,已经搜索到很多C#调用CreateObject的例子,C#的例子却很难找到的时候,就干脆用类似VB的方法算了,很简单。免得继续在网络中大海捞针了。

C#调用CreateObject的方法就是 System.Activator.CreateInstance. 后续的对象函数的调用可以通过InvokeMember方法来实现。

如在VB中的源代码如下:

  1. PublicSubTestLateBind()  
  2. DimoAsObject=CreateObject("SomeClass")  
  3. o.SomeMethod(arg1,arg2)  
  4. w=o.SomeFunction(arg1,arg2)  
  5. w=o.SomeGet  
  6. o.SomeSet=w 
  7. EndSub  

转换成C#的代码如下所示:

  1. publicvoidTestLateBind()  
  2. {  
  3. SystemSystem.TypewordType=System.
    Type.GetTypeFromProgID("Word.Application");  
  4. Objectword=System.Activator.CreateInstance(wordType);  
  5. wordType.InvokeMember
    ("Visible",BindingFlags.SetProperty,null,word,newObject[]{true});  
  6. Objectdocuments=wordType.InvokeMember
    ("Documents",BindingFlags.GetProperty,null,word,null);  
  7. Objectdocument=documents.GetType().InvokeMember
    ("Add",BindingFlags.InvokeMethod,null,documents,null);  

里面有方法,属性的调用设定,很简单。

这种Activator.CreateInstance方法还可以用来创建实例,并调用某些接口方法。毕竟接口必须要实例才能调用。以上介绍C#调用CreateObject。

【编辑推荐】

  1. 浅析C# ArrayList
  2. C#对象初始化学习总结
  3. 使用C#正则表达式匹配相关字符串
  4. C#改写方法学习笔记
  5. 概述C#加框和消框
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-04 09:30:33

C#调用ImageAn

2009-08-31 10:39:15

C#调用ListEmp

2009-08-31 18:05:14

C#调用WalkTre

2009-08-31 16:33:28

C#调用Dispose

2009-08-31 16:17:45

C#调用instanc

2009-08-20 12:29:46

C#调用PInvoke

2009-08-03 13:13:52

C#调用Outlook

2009-08-25 15:26:03

C#调用ImOK

2009-08-05 15:10:19

C#调用GoogleE

2009-09-02 16:36:37

C#调用Excel对象

2009-08-25 10:59:00

C#调用函数显示值

2009-07-31 16:12:10

Windows APIC#

2009-09-01 11:04:59

C#调用扩展方法

2009-08-07 17:19:50

C#调用外部进程

2009-08-07 16:43:44

C#调用Windows

2009-08-07 16:10:20

C#调用API

2009-08-07 17:22:36

C#调用dll导出函数

2009-07-31 17:28:35

C#语言调用DLL

2009-08-03 12:57:27

C#调用DLL

2009-08-28 15:58:54

C#窗体里调用
点赞
收藏

51CTO技术栈公众号