I noticed some projects using Avalonia expose property definitions as AvaloniaProperty<T> instead of the concrete type (StyledProperty, DirectProperty,...), so there are some calls to GetValue for those properties which no longer work after #3255 and #3287 (the resolved overload is the one taking AvaloniaProperty, which returns untyped value, i.e. object).
So my question is whether it's incorrect to expose properties as AvaloniaProperty<T>, and if not, if it would make sense to provide a GetValue<T>(AvaloniaProperty<T> property) method in AvaloniaObject in order not to break those usages.
I noticed some projects using Avalonia expose property definitions as
AvaloniaProperty<T>instead of the concrete type (StyledProperty,DirectProperty,...), so there are some calls toGetValuefor those properties which no longer work after #3255 and #3287 (the resolved overload is the one takingAvaloniaProperty, which returns untyped value, i.e.object).So my question is whether it's incorrect to expose properties as
AvaloniaProperty<T>, and if not, if it would make sense to provide aGetValue<T>(AvaloniaProperty<T> property)method inAvaloniaObjectin order not to break those usages.