【问题标题】:Visual Studio - manage multiple files that are part of one Class - classes, modulesVisual Studio - 管理属于一个类的多个文件 - 类、模块
【发布时间】:2009-09-23 19:58:12
【问题描述】:

我的 VB 项目足够大,需要多个文件。它最初是作为控制台应用程序开发的,我将每个文件创建为一个 MODULE。所有模块都可以使用来自其他模块的子例程、数据结构和常量,并且一切正常。我需要向应用程序添加基本窗口,这需要将应用程序从控制台应用程序转换为 Windows 窗体应用程序。主窗口是 Form1,它不是 MODULE 而是 CLASS。问题是某些基于 MODULE 的函数无法访问在 CLASS Form1 中定义的子例程、数据和常量,除非它们被合并到 CLASS 文件中,这使得 CLASS 文件非常大。如果我在项目中添加一个新的 Class 文件,它也不能像多 MODULE 代码互操作一样与 Class Form1 互操作。

如何将 CLASS 代码分散到多个文件中,并且仍然允许它像在单个文件中一样进行互操作?或者,如何创建多个 CLASS 文件来操作多个 MODULE 文件的方式。

我确信我违反了各种最佳实践,但我的目标是让一些原型软件工作并与一些实验室设备连接。

提前谢谢你

【问题讨论】:

    标签: vb.net visual-studio


    【解决方案1】:

    使用部分类(类声明中的 Partial 关键字)。类的每个部分“位”将在编译时合并。所有部分位必须在同一个项目中。

    【讨论】:

      【解决方案2】:

      模块是默认共享的,不需要使用 New 关键字进行初始化。当您将控制台应用程序设置为 Windows 应用程序时,它就变成了一个类...您可以将其更改为与模块相同的行为,只需将其设为公共共享类并使其内部的所有属性和方法也共享即可。

      因此,虽然您无需初始化即可访问模块中的方法和属性,但您需要使用 NEW 方法来初始化您的 Class 方法。

      要从模块中访问类,您只需使用:

      SomeModulemethod
         dim x as new CLASS
         CLASS.SOMEMETHOD
      someModuleMethod End
      

      您也可以使用部分分类来拆分您的类,但最好确定您是否真的需要一个单独的类来完成您想做的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-15
        • 2017-03-20
        • 1970-01-01
        • 2018-01-03
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        相关资源
        最近更新 更多