如何返回计算值_B,其中一个参数是值_A和硬编码数据,例如“1”?
class Example
{
private static int _A;
private static int _B = _A + 1;
public int GetA
{
get
{
return _A;
}
set
{
_A = value;
}
}
public int GetB
{
get
{
return _B;
}
}
}
我总是回到“1”。
Example example = new Example();
example.GetA = 20; // set { }
Console.WriteLine(example.GetB); // get { }
我希望得到21。
答案 0 :(得分:0)
当您为与声明位于同一行的属性分配值时,该值仅设置一次。
您至少有两个选项,使用带箭头功能的新属性声明。或者在依赖属性的setter中设置值。
class Example
{
private static int _A;
private static int GetB => _A + 1;
public int GetA
{
get
{
return _A;
}
set
{
_A = value;
}
}
}
或者
class Example
{
private static int _A;
private static int _B;
public int GetA
{
get
{
return _A;
}
set
{
_A = value;
_B = _A + 1;
}
}
public int GetB
{
get
{
return _B;
}
}
}