如何将计算的属性值添加到对象
本文关键字:添加 对象 属性 计算 | 更新日期: 2023-09-27 18:13:00
我正在将一些属性读回对象的构造函数中。其中一个属性是根据另一个属性计算出来的。
但是当我创建这个对象时,计算出的Implementation_End_String
属性值总是null:
private string implementationEndString;
public string Implementation_End_String {
get{
return implementationEndString;
}
set {
implementationEndString= DataTimeExtensions.NullableDateTimeToString(Implementation_End);
}
}
问题:
如何将计算过的属性传递给对象构造函数?
这是一个关于函数和计算属性的要点:
private string implementationEndString;
public string Implementation_End_String {
get{
return implementationEndString;
}
set {
implementationEndString= DataTimeExtensions.NullableDateTimeToString(Implementation_End);
}
}
public DateTime? Implementation_End { get; set; }
public ReleaseStatus(DateTime? implementationEnd)
{
//value is assigned at runtime
Implementation_End = changeRequestPlannedImplementationEnd;
}
不需要implementationEndString
字段。只需使Implementation_End_String
为只读属性,并在需要时从其他属性创建字符串:
public string Implementation_End_String
{
get
{
return DataTimeExtensions.NullableDateTimeToString(Implementation_End);
}
}
这样写
private string implementationEndString = DataTimeExtensions.NullableDateTimeToString(Implementation_End);
public string Implementation_End_String
{
get{ return implementationEndString; }
set{ implementationEndString=value; }
//if you don't want this property to be not changed, just remove the setter.
}
之后,当您获得属性值时,它将取DataTimeExtensions.NullableDateTimeToString(Implementation_End);
的值。在您的代码中,当您试图获得实现返回null
,因为implementationEndString是null
。