4

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

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

我的课程:

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

最初,我在Form1. 这有助于Form1能够访问UiStringsor中的函数和属性Options。然而,这些类无法访问彼此的某些部分,大概是因为它们没有被实例化。

这导致我的目标是将我所有的自定义类都设为UiStrings静态类Options(因为我不需要它们的多个实例)。这也意味着我必须将每个类中的每个函数和属性都设为静态。

对于真正知道自己在做什么的人来说,这是一个合理的解决方案吗?

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

4

1 回答 1

2

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

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

于 2012-09-06T03:54:04.527 回答