【发布时间】:2013-08-08 20:42:13
【问题描述】:
在阅读this 文章后,我正在为 MCTS 70-536 做准备。我不是 100% 确定我理解类型转发的概念。我发现文章中给出的步骤更加令人困惑。如果我要复制要转发的类型的源代码并重新编译它,那该怎么办。旧 dll 和客户端会发生什么?
【问题讨论】:
在阅读this 文章后,我正在为 MCTS 70-536 做准备。我不是 100% 确定我理解类型转发的概念。我发现文章中给出的步骤更加令人困惑。如果我要复制要转发的类型的源代码并重新编译它,那该怎么办。旧 dll 和客户端会发生什么?
【问题讨论】:
类型转发允许您在程序集之间重新定位类型。所以最初它是AssemblyA 中的TypeA。通过应用类型转发,您可以在AssemblyB 中以TypeA 结尾。
微妙之处在于已经编译的代码没有看到变化——他们要求AssemblyA中的类型,运行时默默地给他们AssemblyB中的类型。如果您有现有代码,这一点非常重要。
但是; 新代码不能在没有引用AssemblyB 的情况下重新编译引用TypeA。
所以:
AssemblyA 和 AssemblyB
AssemblyB(新代码)【讨论】: