Visual Studio - 管理属于一个类的多个文件 - 类,模块

时间:2009-09-23 19:58:13

标签: vb.net visual-studio

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

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

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

提前谢谢

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

因此,虽然您可以在未初始化的情况下访问模块中的方法和属性,但您需要使用NEW方法初始化Class方法。

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

SomeModulemethod
   dim x as new CLASS
   CLASS.SOMEMETHOD
someModuleMethod End

你也可以使用Partial Classing来分割你的Classes,但最好还是决定你是否真的需要一个单独的类来做你想做的事。