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

时间:2009-04-10 07:32:57

标签: c# .net

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

1 个答案:

答案 0 :(得分:7)

类型转发允许您在程序集之间重定位类型。最初它是TypeA中的AssemblyA。通过应用类型转发,您可以TypeA中的AssemblyB结束。

微妙的是已编译的代码没有看到更改 - 他们要求AssemblyA中的类型,运行时默默地为它们提供来自{{1的类型}}。如果您有现有代码,这一点非常重要。

然而;在没有引用AssemblyB的情况下,无法重新编译引用TypeA代码。

所以:

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