样式/架构完整性检查多个类和表单

时间:2012-09-06 03:32:55

标签: c# winforms class architecture

到目前为止,我一直用来自学代码的c#项目是一个包含大量函数和大量“全局”静态变量的巨大形式。

在这里阅读,做一些教程等之后,我现在正在尝试重构它以正确使用类和封装。

我的课程:

  • Program.cs - 基本上只会初始化Form1
  • Form1.cs =生成并修改所有用户界面。在其他类中调用公共函数,并具有一些其他类可以调用以更新它的公共函数。
  • UiStrings.cs =包含所有错误消息,对话框,说明等。
  • Options.cs =跟踪一些设置,构建和更新安装文件的路径,根据更改的UI执行代码。
  • Updater.cs =跟踪当前版本,下载资源,将它们放在正确的位置,然后调整选项。
  • Installer.cs =根据当前选项处理安装/卸载/备份所有资产。

最初,我在Form1中创建了其他每个类的实例。这适用于Form1,以便能够访问UiStringsOptions中的函数和属性。然而,这些类无法访问彼此的部分,可能是因为它们尚未实例化。

这使我的目标是使我的所有自定义类如UiStringsOptions静态(因为我不需要其中任何一个的多个实例)。这也意味着我必须使每个类中的每个函数和属性都是静态的。

这是一个合理的解决方案,实际上知道他们正在做什么的人会来吗?

到目前为止,它似乎在我的测试中起作用,但我最初的尝试没有任何课程也工作得很好,直到我知道它是多么错误。

1 个答案:

答案 0 :(得分:2)

如果您打开项目属性(右键单击解决方案资源管理器中的项目,右键单击,选择属性),您将找到UiStrings所针对的“资源”选项卡,以及“选项”所针对的“设置”选项卡。我建议将它们用作标准功能。这也消除了设计自己的要素类的需要。

除此之外,您可以将它们静态化,并且您不必创建类的副本来访问静态成员。语法是ClassName.Method()或ClassName.Property而不是var instance = new ClassName(); instance.Method();