c# – 多个类和表单的样式/体系结构健全性检查

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

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

我的课程:

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

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

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

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

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

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

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

点赞