3#include "INotifyObjectDead.h"
4#include "INotifyPropertyChanged.h"
52 _propertyChanged(std::move(
other._propertyChanged)),
53 _objectDead(std::move(
other._objectDead))
64 DynamicObject::operator=(std::move(
other));
65 _propertyChanged = std::move(
other._propertyChanged);
66 _objectDead = std::move(
other._objectDead);
78 _objectDead(*
this,
args);
89 return _propertyChanged;
107 if (_propertyChanged) {
109 args.propertyId = propertyId;
110 _propertyChanged(*
this,
args);
120 template <
typename T,
typename TProperty>
动态对象基类
Definition Reflection.h:27
DynamicObject() noexcept
默认构造函数
Definition Reflection.h:44
对象销毁通知接口
Definition INotifyObjectDead.h:20
属性变更通知接口
Definition INotifyPropertyChanged.h:30
值转换器接口
Definition IValueConverter.h:14
可观察对象基类,实现属性更改通知功能
Definition ObservableObject.h:14
virtual ~ObservableObject()
析构时触发对象销毁事件
Definition ObservableObject.h:74
ObservableObject & operator=(ObservableObject &&other) noexcept
移动赋值运算符
Definition ObservableObject.h:61
virtual PropertyChangedEventHandler & GetPropertyChangedEventDelegate() override final
获取属性更改事件委托的引用
Definition ObservableObject.h:87
ObservableObject(const ObservableObject &)=delete
禁用拷贝构造
void RaisePropertyChanged(TProperty T::*property)
触发属性更改通知事件
Definition ObservableObject.h:121
ObservableObject()=default
默认构造函数
void RaisePropertyChanged(FieldId propertyId)
触发属性更改通知事件
Definition ObservableObject.h:105
ObservableObject & operator=(const ObservableObject &)=delete
禁用拷贝赋值
ObservableObject(ObservableObject &&other) noexcept
移动构造函数
Definition ObservableObject.h:48
virtual ObjectDeadEventHandler & GetObjectDeadEventDelegate() override final
获取对象销毁事件委托的引用
Definition ObservableObject.h:96
static FieldId GetFieldId(TField T::*field) noexcept
获取字段的唯一标识符
Definition Reflection.h:1095
SimpleWindow框架的顶级命名空间,所有公共类型、控件、枚举和工具函数均定义于此。
Definition Alignment.h:4
事件参数结构体
Definition Event.h:286
表示字段的唯一标识符
Definition Reflection.h:1032
属性更改事件参数
Definition INotifyPropertyChanged.h:13