如何解决检测类属性内的变量值更改 C#
我遇到了看似简单的流程,但似乎有开放的联系。 我试图对类属性内的变量更改强制执行“提交”。
假设我有一个接口 IStatusModel
,它定义了下一个属性:Status CurrentStatus { get; set; }
其中 Status
包含一个枚举和另一个类:
public class Status
{
public InnerEnum EnumVal { get; set; }
public SystemPosition SystemPosition { get; set; }
}
假设我已经实现了接口并涵盖了 CurrentStatus
更改并需要“提交”的情况:
public Status CurrentStatus
{
get
{
return _statusProvider.Get();
}
set
{
_statusProvider.Commit(value);
}
}
(忽略有效性检查和其他)
除了上面的属性,接口类还包含2个功能:
void SetInnerEnum(InnerEnum enumVal);
void SetSystemPosition(SystemPosition systemPos);
上述 2 个函数的存在是为了确保在 EnumVal
或 SystemPosition
发生更改的情况下,我们可以调用这两个函数末尾的 _statusProvider.Commit(CurrentStatus);
。>
我最终想要的是“检测”CurrentStatus
属性变量内部的变化,并始终执行:_statusProvider.Commit(CurrentStatus);
。
我假设我可以将接口转换为抽象并通过提交操作在基类中实现上述功能,并在执行实际继承的函数后简单地调用基函数,但这仍然需要实现者接口/抽象类来处理它,我宁愿避免它并使其尽可能“无缝”。
谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。