9using System.Collections.Generic;
11using System.Threading.Tasks;
15 internal interface IManageProperties
17 bool HasManagedProperties {
get; }
19 List<IPropertyInfo> GetManagedProperties();
20 object GetProperty(IPropertyInfo propertyInfo);
21 object LazyGetProperty<P>(PropertyInfo<P> propertyInfo, Func<P> valueGenerator);
22 object LazyGetPropertyAsync<P>(PropertyInfo<P> propertyInfo, Task<P> factory);
24 P ReadProperty<P>(PropertyInfo<P> propertyInfo);
25 P LazyReadProperty<P>(PropertyInfo<P> propertyInfo, Func<P> valueGenerator);
26 P LazyReadPropertyAsync<P>(PropertyInfo<P> propertyInfo, Task<P> factory);
27 void SetProperty(IPropertyInfo propertyInfo,
object newValue);
28 void LoadProperty(IPropertyInfo propertyInfo,
object newValue);
29 bool LoadPropertyMarkDirty(IPropertyInfo propertyInfo,
object newValue);
30 void LoadProperty<P>(PropertyInfo<P> propertyInfo, P newValue);
31 List<object> GetChildren();
Maintains metadata about a property.
@ ReadProperty
Request to read a property value.