我爱Aspx >> C#.Net >> C#中实现VB中的CreateObject方法经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等。虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但是这样比较没什么用,因为生成的对象的所带有的方法都不能使用。C#中还可以直接用添加引用的方式来调用一些对象,前提是你知道该添加哪个引用。
当我上网搜索,已经搜索到很多VB的成功用CreateObject调用的例子,C#的例子却很难找到的时候,就干脆用类似VB的方法算了,很简单。免得继续在网络中大海捞针了。
C#中类似 CreateObject 的方法就是 System.Activator.CreateInstance. 后续的对象函数的调用可以通过InvokeMember方法来实现。
如在VB中的源代码如下:
这种方式叫Late-Bind,关于早期绑定和后期绑定的区别见 http://msdn2.microsoft.com/zh-cn/library/0tcf61s1(VS.80).aspx
Public Sub TestLateBind()
Dim o As Object = CreateObject("SomeClass")
o.SomeMethod(arg1, arg2)
w = o.SomeFunction(arg1, arg2)
w = o.SomeGet
o.SomeSet = w
End Sub
转换成C#的代码如下所示:
public void TestLateBind()
{
System.Type oType = System.Type.GetTypeFromProgID("SomeClass");
Ҷƪл˵?
使用C#创建SQL Server的存储过程[07-30]
了解VB编写病毒的大体方法[07-30]
c#数据库操作的3种典型用法[07-30]
c#调用oracle存储过程返回结果集..[07-30]
C#开发和使用中的23个技巧[07-30]
C#3.0 中 DLINQ 从数据库获得数据..[07-30]
C#3.0 中对象初始化器(Object In..[07-30]
C#3.0 LINQ 查询语法[07-30]
C#将文件保存到数据库中或者从数..[07-30]
C#3.0 中的扩展方法 (Extension ..[07-30]
sql存储过程分页算法研究[07-30]
用Photoshop通道打造“非主流”淡..[07-30]
Photoshop处理唯美梦幻抽线特效[07-30]
Photoshop绘鲜美葡萄 表现光影效..[07-30]
Windows Vista安装机密 避免联机..[07-30]
用Sysprep自动实现Windows XP成功..[07-30]
Excel表格中关于序号处理的五则技..[07-30]
招行 工行 建行 兴业 恒生网银安..[07-30]
宽带环境下的网络安全[07-30]
解决SQL Server虚拟内存不足情况[07-30]