public sealed class DataAccess 
{        
        private static readonly string path = ConfigurationManager.AppSettings["WebDAL"];
    
        public static PetShop.IDAL.ICategory CreateCategory() 
        {
            string className = path + ".Category";
            return (PetShop.IDAL.ICategory)Assembly.Load(path).CreateInstance(className);
        }
}
它具体能实现什么啊,大家能帮偶解释下吗? 谢谢啊。

解决方案 »

  1.   

    所谓反射的意思解释起来很简单new classname()是申明一个实例,但是,如果这个classname是一个变量你怎么办??你怎么把变量变成实例呢??很简单用反射技术就可以了
      

  2.   

    其实 js的eval execute 或者是vbs的execute也是一样的这类技术不是必须的,但是可以让你的程序变得很简单,很好控制,这样可以用单一的接口管理你的程序
      

  3.   

    通过反射技术动态返回一个实现了接口ICategory的实例。 
    DataAccess类就是一个工厂类。
      

  4.   

    利用反射机制, 创建一个类的实例, 工厂返回的是接口的类型  ----接口类型有什么用?跟普通的类型有什么不同,干什么要返回一个接口类型呢?ICategory 改成Category 可以么?
      

  5.   

    IvarName只是接口命名的方式,好像接口都是用字母“I”开头的。初学.net,可能不对