首页 > 解决方案 > 带有静态类的自动实现属性的这条线是什么意思?

问题描述

我正在按照此处测试 azure 函数的说明进行操作,并且遇到了这行代码:

public static NullScope Instance { get; } = new NullScope();

我已经阅读了这个SO 答案,所以我了解自动实现的属性,但我不知道它如何与static关键字结合使用。

这只是创建一个只能访问而不能设置的新 Nullscope 吗?还是每次都会创建一个新的 NullScope get?如果可能,您能否扩展代码行以便更好地理解?

标签: c#staticgetter-setter

解决方案


这只是创建一个只能访问而不能设置的新 Nullscope 吗?

对,就是这样。

还是每次得到它时都会创建一个新的 NullScope?

不,那看起来更像这样:

public static NullScope Instance
{
    get => new NullScope();
}

请注意,前者有一个标准的自动实现的 getter,并使用一些相对较新的语法来为自动实现的支持成员设置一个值,而后者使用一个自定义的 getter,它只是一个“表达式体成员”,当被调用时,返回一个对象。


推荐阅读