我正在尝试学习在我的代码中使用类的正确方法,当它不像一组客户、从动物继承的狗等那样明显时。
我已将大部分代码分解为“功能”,例如Installer.cs
, Downloader.cs
, UiManager.cs
. 我可以找到让这些类与彼此的属性和方法交互的唯一方法是使它们全部静态,我在另一个问题中被告知这是错误的方法。
所以我的问题是三件事之一:
有一种方法可以让班级互相交谈,但我还不明白。
类永远不应该尝试相互交谈,而是执行一次性操作,然后返回一些东西给
main/form1
,然后主类可以使用它来传递给另一个类以进行一次性操作。类实际上只对创建大量实例有用,并且我需要完全了解一些其他结构,以便从主类中抽象出大量功能。
我能找到的所有教程和观看的讲座似乎只告诉你课程是如何运作的,而不是何时以及如何在实际产品中使用它们。
编辑 - 一个更具体的例子:
假设我有一个字符串,它是整个应用程序的核心,每个班级都可能需要查看和/或修改。如何在代码中移动这些信息而不将所有内容都放在一个类中或使其成为静态?
我看不到在Form1
不使其成为静态的情况下让该字符串存在的方法(因为所有表单事件和函数都需要能够看到它才能将其传递给一个类)。
我看不到将字符串放入另一个类而不必使字符串和整个类静态的方法,因此其他类可以看到它。
也许我在实际实例化类和使对象相互交互方面缺少一些东西。