(PetShop.IMessaging.IOrder)Assembly.Load(path).CreateInstance(className);

来源:百度知道 编辑:UC知道 时间:2024/09/22 04:13:57
(PetShop.IMessaging.IOrder)Assembly.Load(path).CreateInstance(className);

谁能帮我解释一下这段代码?

我也在看 PetShop,以下是我的理解:
这段代码使用放射创建 PetShop.IMessaging.IOrder 类型的实例,path为所要加载的程序集路径。

关于反射:
1、可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型
2、应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射。
3、反射主要应用与类库,这些类库需要知道一个类型的定义,以便提供更多的功能。

与工厂模式的联系:
利用反射,在配置文件里定义好类型名,在程序运行时动态创建对象。