1

我在 .NET 中有一个 Windows 应用程序,它使用两个库(命名为 LB1 和 LB2)。这两个库都是第三方库。现在我的客户希望我用 LB2 组件替换 LB1 组件,以便完全删除 LB1 组件。(可能是为了削减成本)

我需要检查是否可以使用 LB2 实现使用 LB1 实现的控件/方法/其他功能。

我怎样才能做到这一点?

  1. 手动(我试过但我花了很长时间才识别出几个控件)
  2. 通过任何工具。

另外,如果我能弄清楚 LB1.Component1 可以用 LB2.Component2 替换,那么我该如何更改整个代码?

  1. 手动(单独更换每个控件需要很长时间)
  2. 通过任何工具或脚本

希望我的问题很清楚,如果没有,请发表评论,我会尝试详细说明。

编辑:客户端已经确认,对于 LB1 中的每个控件,LB2 中都有一个镜像副本,但不知道确切的映射(名称)。这是我必须识别的。如果我必须手动完成,那么我需要处理什么?

编辑 2:我使用反射并知道我的两个组件都有一个名称相似的类(名为 NCombo 和 Combo)。两者都有很长的描述。我能知道这些类是相同的吗?我的意思是,如果 NCombo 的对象有一些功能,那么我可以使用 Combo 的对象实现相同的功能。对象已在多个地方使用,因此通过运行应用程序检查每个功能将非常困难。有什么办法知道吗?

4

2 回答 2

1

是的,你的问题很清楚......

您只需要手动完成所有操作。

例如:LB1 有一些控制,但 LB2 没有同样的控制或事件。您需要手动检查并搜索正确的控件和事件。

据我所知,没有任何工具可以这样做。如果它也可用,它不会做到 100%。

于 2013-04-24T06:49:07.037 回答
0

您必须比较两者并确保 LB2 提供与 LB1 相同的功能。这是预先的分析步骤,是的,这需要时间,但它也将帮助您了解您在做什么以及是否可行。基于此,您可以决定下一步。

如果它们提供相同的功能,下一步可能是更换控件,可能重写代码并花足够的时间确保一切按预期工作。这称为重构。当然,这是一项手动工作——尽管您可以编写自动化测试。

如果它们不提供相同的功能,您必须决定下一步是什么。

于 2013-04-24T06:53:21.383 回答