c# - 将旧的 VB.NET 设备应用程序 (PDA) 迁移到 C# Android 应用程序
问题描述
我收到了将一个针对 , 的旧项目(2005 年左右制作)转换PDA devices
为Android application
. 要求是尽可能少地更改已经存在的代码。不好的部分是提供的代码是用编写的,VB.NET
并且严重依赖于 GUI,所以当时这两个部分之间没有真正的分离。更重要的是,它很少用 OOP 风格编写。经过一些研究,我得出的结论是Xamarin project
,我将在其中创建一个仅用于 VB.NET 代码的单独项目,这将是一个class library project
独立于 GUI 的,将是最好的解决方案。就像是:
'method in my VB.NET project:'
Private Sub SomeButtonVB_Click([parameter list])
'code of the method independent of GUI'
End Sub
//the C# project, having a reference to the VB.NET project
//method in the C#/Xamarin project, connecting the VB.NET project with the GUI:
private void SomeButton_Click(object sender, RoutedEventArgs e)
{
SomeButtonVB_Click([parameter list]);
}
myC# project
中将后端与 GUI 连接起来的方法仅代表中的方法的一些包装器VB.NET project
,就像上面的示例一样。问题是,由于缺少(同样,它是一个Windows.Forms controls
类库项目),存在很多错误。我的解决方法是为最重要的控件创建等效的类,只是为了保存它们将在 GUI 上显示的数据并将所需的数据发送回包装器方法,然后将其显示在可视控件上。VB.NET project
我很确定这仍然是一个非常不理想的解决方案,而且要做的工作太多了。由于这是我的第一个此类项目,我不知道如何处理这样的任务,所以我想收到一些意见,也许是一些有用文章的链接,任何可能有帮助的东西。感谢,并有一个愉快的一天!
解决方案
推荐阅读
- symfony - 带正则表达式的 Symfony 路由
- java - 使用 JavaFX webEngine.print() 函数时的 IllegalStateExeption
- gcc - 英特尔 ICC 2018 与 GCC 8 程序集:堆栈初始化和完成差异
- c# - 文件路径中的正则表达式
- c++ - 简单赋值时的内存分配错误
- tensorflow - 无法加载本机 TensorFlow 运行时:“ImportError: DLL load failed”和“ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'”
- blockchain - 如何共同签署涉及多重签名的聚合交易
- javascript - jspdf为脚本文件中生成的自动表增加行高
- python - python openstacksdk - userdata bash脚本未执行
- if-statement - Jekyll 液体限制包含