![]() |
1
22
也许您应该用一个返回对象实例的静态方法来尝试这种方法。
这将使初始化代码保持在构造函数之外,并为您提供所需的“一行”声明。 从下面的海报中继续评论,通过添加状态,实现可以是这样的:
|
![]() |
2
5
这要看情况而定。你应该评估课程的基本目的。它执行什么功能? 我通常喜欢让一个类构造函数为类的运行做必要的初始化。然后我调用类上的方法,这样可以安全地假定已经完成了必要的初始化。 通常,初始化阶段不应该太密集。执行上述操作的另一种方法可能是:
|
![]() |
3
1
这就是你们班的全部工作吗?如果是这样的话,我会说这并不重要。但很可能你的课实际上做的比你所展示的要多。例如,它是否有任何错误处理? 构造函数的目的是构造一个对象。方法的目的是执行操作。所以我投票赞成这个形式:
|
![]() |
4
1
我同意阿里和其他人的看法——把他们分开。 一个构造函数应该真正完成最少的工作量(只需初始化准备好使用的对象,然后就可以使用了)。通过使用单独的方法完成工作:
|
![]() |
5
0
我认为您应该根据是否计划重用同一对象在不同的输入上执行相同的操作来决定上述两种方法(“先初始化,然后执行”vs“empty init,perform with params”)。
如果所有的类都是这个任务,我也会考虑将其全部更改为静态类/方法-它不需要保持其内部状态。 无论如何,我永远不会将任务本身放在构造函数中。如小脑所说,初始化应该很快。 |
![]() |
6
0
除非类的主要目的是执行I/O,否则您可能不应该在构造函数中执行I/O(可能引发IOException)。 考虑将类分成两部分:
这样,主类可以专注于管理自己的状态,而数据源则从文件内容构建初始状态。 |
![]() |
7
0
如果这是类所使用的唯一资源,那么最好将路径传递给构造函数。否则,它将是类成员的参数。 |
![]() |
8
0
我个人的偏好是使用C 3.0初始值设定项。
这有几个优点:
|
![]() |
9
0
我要回应这里的“分裂他们”。如果有帮助,请尝试以下操作:
在这里应用,你会得到:
在我看来,这比“构造函数应该创建对象”更合乎逻辑。 和 从文件系统加载数据。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |