• λ我爱Aspx >> C#.Net >> C#中实现VB中的CreateObject方法
  • C#中实现VB中的CreateObject方法

  • :aspxer  Դ:5iaspx  :2007-7-30 6:14:23  ؼ:c#,vb
  • 经常看到有些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");

    Ҷƪл˵?
  • һƪ图文:详解数据库Oracle 11g的基本安装
    һƪsql存储过程分页算法研究