【发布时间】:2018-12-16 23:15:57
【问题描述】:
我将一个旧项目拆分为多个组件部分,以便各个组件可供其他几个项目使用。
大约有 4 个阶段分为组件和 3 个将引用这些组件的主项目。
有一个主类(位于共享项目中,称为 Master 类以供参考)在整个共享过程中是一致的。 我已经设置了一个共享项目并添加了引用,工作正常。
当尝试使用 A 类(从项目 A 的主类版本引用)将变量传递给组件 A 的主类版本中的方法时,出现了问题,我遇到了兼容性问题。 (沿着不能隐式将 MasterClassA 转换为 MasterClassA)
我知道它们是相同的,并且我理解它们本质上是 Master 类的一个单独实例,这就是它们目前不兼容的原因。
我研究了泛型/反射,更改为可移植库类,似乎在绕圈子。 我知道反射很慢,所以我想尽可能避免它。
【问题讨论】:
-
如果您需要分享您的大师班,它应该位于共享项目中。然后你可以在所有地方使用它。复制一个类并将其编译到不同的程序集中将导致完全独立的类,尽管名称和内容相同。
-
确实位于共享项目中,只是在别处引用。我已经更新了帖子以使其更加明显。谢谢
标签: c# generics reflection shared-project