1)如果我们想在运行时创建一个给定类型的实例(因此使用后期绑定),那么我们需要调用Activator.CreateInstance。但是如果Type类有这样一个方法,它会更有效吗?如果没有别的,Type.CreateInstance可以返回强类型实例而不是System.Object?!不是Type.CreateInstance比Activator.CreateInstance更有意义吗?
2)Type.GetType使我们能够进入它仅包含类型的组件的友好名称,因此它不会使得我们可以指定到该组件的绝对路径。
任何想法,为什么Type.GetType允许我们指定大会的绝对路径将是一个坏主意?
感谢名单
“我不知道你的意思是绝对路径,因为从指定的位置加载程序集只有Assembly.LoadFrom做。”通过绝对路径我的意思是像C:\ SomeApp \ Assembly.dll – AspOnMyNet 2010-03-09 20:10:30
所以答案是:这是一个坏主意,因为这些程序集是在不同的上下文中加载的。请参阅http://www.hanselman.com/blog/FusionLoaderContextsUnableToCastObjectOfTypeWhateverToTypeWhatever.aspx – 2010-03-09 20:23:23
我跳过书中讨论上下文的部分,认为我不必了解它。 – AspOnMyNet 2010-03-09 20:52:03