1
5
您可以将这些方法设置为静态的,并且它可以工作,但是在分配所有字段之前,不能调用非静态方法。 |
2
2
在填充所有字段(属性)之前,不允许对结构调用方法。 我知道这是个骗局,但这会奏效的。
|
3
2
gbegen有正确的想法-使范围检查方法静态化。 这不仅可以解决问题,而且可以使代码更清晰:方法根本不依赖于结构的状态,也不具有多态性,因此它们不应该是实例方法。 |
4
1
在验证输入之前,可以将每个字段设置为零。这是有意义的,因为默认的构造程序无论如何都会将它们设置为零,所以这是一个无论如何都必须在程序中处理的情况。一旦设置了这些值,就可以调用任何您想要的方法,甚至在构造函数中也是如此。 但正确的解决方案是其他人都在说的:让范围检查静态方法。事实上,在这种情况下,它们是纯函数(没有副作用,只在参数上操作,而不是静态或实例字段)。纯函数总是静态的。从调试、多线程、性能等方面来看,静态纯函数都是巧克力棒的。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |