自动更新属性
本文关键字:属性 更新 | 更新日期: 2023-09-27 18:16:59
我有一个类:
public class Car
{
public string Color { get; set; }
public string Speed { get; set; }
public string Property3 { get; set; }
}
我想在更新属性Color
或Speed
时自动设置Property3
的值
我想设置Property3
的值,Color
和Speed
的值用连字符分隔
你可以在Property3
的getter中这样指定:
public string Property3
{
get { return $"{this.Color}-{this.Speed}"; }
}
我假设您希望Property3
是只读的,所以我省略了上面示例中的setter
你可以这样设置getter属性
public string Property3 {
get { return Color + "-" + Speed; }
}
有两种方法:
更新speed和color设置中的依赖属性:
private string _Color;
public string Color
{
get
{
return this._Color;
}
set
{
this._Color = value;
this.Property3 = $"{this.Color}-{this.Speed}";
}
}
private string _Speed;
public string Speed
{
get
{
return this._Speed;
}
set
{
this._Speed = value;
this.Property3 = $"{this.Color}-{this.Speed}";
}
}
public string Property3 { get; set; }
从属属性的get内的连接:
public string Property3
{
get
{
return $"{this.Color}-{this.Speed}";
}
}
概念上的区别是非常明显的:您是希望能够覆盖Property3
还是应该将其只读