gpt4 book ai didi

C# 将函数附加到属性 setter 的最短方式(最少的文本)是什么?

转载 作者:行者123 更新时间:2023-11-30 16:02:26 25 4
gpt4 key购买 nike

我有一个类,每次更改属性时都需要调用刷新函数。所以我发现自己写了很多这样的东西:

private double _x;
public double X
{
get { return _x; }
set
{
_x = value;
refresh();
}
}

每个属性的刷新函数始终相同。有更短的方法吗?

此外,我总是通过 double X 访问 private double _x,所以像 public double X { get; set} 可以正常工作,如果我能以某种方式集成 refresh() 方法。

最佳答案

纯C#的方式是把重复的代码移到一个方法中。

在你的情况下,是这样的:

void Set<T>(ref T field, T value)
{
field = value;
refresh();
}

然后像这样使用它:

private double _x;
public double X { get { return _x; } set { Set(ref _x, value); } }

关于C# 将函数附加到属性 setter 的最短方式(最少的文本)是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37585734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com