你如何用简单的术语解释类型转发?

Per*_*der 3 .net c#

我正在准备MCTS 70-536,看完这个文章.我并非100%确定我理解了类型转发的概念.我发现文章中给出的步骤更令人困惑.如果我要复制要转发的类型的源代码并重新编译它,那么交易是什么.老dll和客户端会发生什么?

Mar*_*ell 7

类型转发允许您在程序集之间重定位类型.所以最初是TypeAAssemblyA.通过应用类型转发,您可以以TypeAin 结尾AssemblyB.

细微之处在于已经编译代码没有看到更改 - 他们要求输入类型AssemblyA,运行时默默地为它们提供类型AssemblyB.如果您有现有代码,这一点非常重要.

然而; 在没有您引用的情况下,无法重新编译代码.TypeAAssemblyB

所以:

  • 旧客户不需要重新编译
  • 但是,你需要重建都AssemblyAAssemblyB在上面的例子中
  • 现在必须引用新代码(或任何重新编译的代码)(新代码AssemblyB)