如何用私有setter初始化对象

本文关键字:初始化 对象 setter 何用私 | 更新日期: 2023-09-27 18:02:10

当我使用以下代码时:

static public string myString { get; private set; }

如何同时设置值?问题是我的类是静态的,所以在它的声明中,我需要确保它有一个值。

通常我在非静态类中使用它,所以我在类的构造函数中设置了这个值。

如何用私有setter初始化对象

这只在c# 6.0中有效。c# 6.0添加了以下语法:

static public string myString { get; private set; } = "Hello";

除非你打算稍后在程序中设置myString,否则考虑将该属性设置为只读(这是c# 6.0的另一个新特性):

static public string myString { get; } = "Hello";

使用静态构造函数(MSDN)初始化属性

另一个选项:

static public string myString { get; private set; } = "default value";