C# 扩展获取集对象
这是我的DTO对象,当我尝试设置属性PcPevna时,它不起作用。为什么?因为将C# 扩展获取集对象,c#,C#,这是我的DTO对象,当我尝试设置属性PcPevna时,它不起作用。为什么?因为将PcPevna设置为一个值!=null将Sleva设置为0,其setter依次将PcPevna设置回null 将代码更改为 public class ZakazkandDTO { private decimal? _pcPevna; private decimal? _sleva; public decimal? PcPevna { get => _
PcPevna
设置为一个值!=null将Sleva
设置为0,其setter依次将PcPevna
设置回null
将代码更改为
public class ZakazkandDTO
{
private decimal? _pcPevna;
private decimal? _sleva;
public decimal? PcPevna
{
get => _pcPevna;
set
{
_pcPevna = value;
if (_pcPevna.HasValue)
Sleva = PcSpec = 0;
}
}
public decimal? Sleva
{
get => _sleva;
set
{
_sleva = value;
if (_sleva.HasValue)
PcPevna = null;
}
}
public decimal? PcSpec { get; set; }
}
即,直接设置支持字段以避免再次触发其他属性的设置程序
public decimal? PcPevna {
get => _pcPevna;
set {
_pcPevna = value;
if (_pcPevna.HasValue)
_sleva = PcSpec = 0;
}
}
public decimal? Sleva {
get => _sleva;
set {
_sleva = value;
if (_sleva.HasValue)
_pcPevna = null;
}
}