C# C | get/set变量始终返回null
这是公共静态类中的代码:C# C | get/set变量始终返回null,c#,getter-setter,C#,Getter Setter,这是公共静态类中的代码: 设置Json={};,为什么会导致NullReference异常 Setter应该为变量赋值,例如 set { json = value; Console.Write... } _json=json;将再次调用getter,它返回backing字段的旧值。因此,您当前的代码与此类似: public static string get_Json() => _json; public void set_Json(string value) =>
设置Json={};,为什么会导致NullReference异常 Setter应该为变量赋值,例如
set {
json = value;
Console.Write...
}
_json=json;将再次调用getter,它返回backing字段的旧值。因此,您当前的代码与此类似:
public static string get_Json() => _json;
public void set_Json(string value) =>
{
var newValue = get_Json(); // here _json just returns the old value
// you don´t use the provided value here
_json = newValue;
}
您需要使用value关键字:
您的setter应该读取_json=value;当前,您总是将属性设置为属性的当前值。用于定义集合访问器分配的值。
public static string get_Json() => _json;
public void set_Json(string value) =>
{
var newValue = get_Json(); // here _json just returns the old value
// you don´t use the provided value here
_json = newValue;
}
public static string Json
{
get { return _json; }
set {
_json = value;
Console.WriteLine("Json variable was modified. Now it's value is: " + _json);
}
}