![]() |
1
3
我发现这里最好的一般规则是:如果两次调用操作会导致多个资源调用或不同的行为-使用一个方法。 因此,在您的示例中,如果属性缓存以下内容,则可以使用它:
但是,该方法不需要-用户希望它是一个更密集的操作:
设计问题是您希望如何使用这个类? 将调用一个属性,就好像它是一个“廉价”操作:
方法提示开发人员,他们应该尽可能少地调用它:
就我个人而言,我更喜欢保持临时类的简单性,因此在绝大多数情况下,我将使用方法模型。 因为这是一个相当标准的约定,所以您应该避免不缓存的属性和这样做的方法。 |
![]() |
2
6
就我个人而言,我将获取getResolvedText方法的主体,并在属性中使用它,因此:
这将把管理字符串的所有责任都放在一个地方。类本身可以访问
|
![]() |
3
2
我将把它作为一个属性来保存,因为它表示一个不需要很多计算就可以检索的值。 |
![]() |
4
0
对我来说,如果getter不能抛出异常或空/无效值,它应该是一个属性。这就是属性的作用。 但是,如果你做一些复杂的事情,如果必须是一个函数getter。显然,这里只有1个if,所以我将使用一个属性。 |
![]() |
5
0
将您的示例和Steve的答案重新组合在一起,再加上一些缓存,很明显,资源值应该只读取一次,因为它永远不会更改,并且根据合同,我们必须尽快从属性返回值:
|
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |