Unity (Unity5) 中 c# 中的属性 - 可以避免支持变量吗

2024-02-06

对于Unity5(很难确切地知道正在使用什么版本的c#/Mono/.Net),我们的属性完全像这样:

private int _distance;
public int Distance
    {
    private set
        {
        _distance = value;
        controls.Blahblah(_distance);
        }
    get
        {
        Debug.Log("hah!);
        return _distance;
        }
    }

但考虑一下新的“自动属性”在 C# 中,这似乎是这样的

 public int Distance {get; set;}   // ?

但我不知道如何在 getter/setter 中“做某事”?

或者换句话说,有没有一种方法可以在“手动”创建属性时自动生成支持变量(以及方便性 - 保持其私有)?

重复一下,因为它被标记为重复项,所以我如何在 getter/setter 期间在自动属性惯用语中“做一些事情”...

...或者相反...

如果您编写自己的“手动”属性,如何隐藏、摆脱或自动提供支持者?

请注意,您或其他程序员当然可能会意外触及 _underscore 支持变量:有什么办法可以避免这种情况吗?


如果您想在 getter/setter 中“执行某些操作”(除了分配给字段之外),则不能使用自动属性。对于示例代码描述的用例,自动属性不是一个选项。拥有显式支持字段并没有什么问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity (Unity5) 中 c# 中的属性 - 可以避免支持变量吗 的相关文章

随机推荐