动态创建对象

反射与动态创建对象

郁闷,听某某程序员大吹特吹反射的好处。问了下他怎么实现对象的动态创建,对方竟然一无所知。

回宿舍后找了相关动态创建对象的方法,还是没找到什么好的实现方法。使用老办法。如下:  

      Class1 asm = Assembly.Load("TestDLL").CreateInstance("TestDLL.Class1") as Class1;

        Type t = Type.GetType("System.Data.DataTable,System.Data,Version=1.0.3300.0,   Culture=neutral,   PublicKeyToken=b77a5c561934e089");


 

后建创建一简单动态对象工厂:

    public static T ObjectFactory<T>(string assemblyName,string typeName) where T : class
    {
        return Assembly.Load(assemblyName).CreateInstance(typeName) as T;
    }

 

调用:Class1 class1 = ObjectFactory<Class1>("TestDLL", "TestDLL.Class1");

 

另:在反射功能的测试过程中发现,ASP.NET生成后,站点页面和站点中类所在的程序集是不一样的。

 

类似这样的GetType方法是不行的。

 Type tt = Type.GetType("System.Data.DataTable");

 

 Activator.CreateInstance("TestDLL","TestDLL.Class1")

转载于:https://www.cnblogs.com/kericai/archive/2008/08/31/1280539.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值