reactiveui / ReactiveUI

An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.
https://www.reactiveui.net
MIT License
8.03k stars 1.12k forks source link

Make Fody ToPropertyEx work against IReactiveObject #2248

Open MartinZikmund opened 4 years ago

MartinZikmund commented 4 years ago

Is your feature request related to a problem? Please describe.

I would like to use ToPropertyEx against an instance of IReactiveObject, but it unfortunately requires a ReactiveObject

Describe the solution you'd like

Change the generic constraint on ToPropertyEx to class, IReactiveObject to match ToProperty method.

Describe alternatives you've considered

Implementing the method manually, but that is less convenient that having this out of the box.

Describe suggestions on how to achieve the feature

Change the generic constraint on ToPropertyEx to class, IReactiveObject to match ToProperty method. Unfortunately this causes failure of API approval test. The change makes the constraint more permissive, but it is still a breaking change.

open-collective-bot[bot] commented 4 years ago

Hey @MartinZikmund :wave:,

Thank you for opening an issue. We will get back to you as soon as we can. Also, check out our Open Collective and consider contributing financially.

https://opencollective.com/reactiveui

PS.: We offer priority support for all financial contributors. Don't forget to add priority label once you start contributing :smile:

ReactiveUI - Open Collective
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms!
MartinZikmund commented 4 years ago

If we agree on a way to resolve this, I would love to contribute the change

cabauman commented 4 years ago

@glennawatson shall we consider this request at the same time as changing the ToPropertyEx name?

glennawatson commented 4 years ago

Yeah. I have this happening in my testing version.

jcummings2 commented 3 years ago

Any update on this capability?

glennawatson commented 3 years ago

Next major release is the plan for this one. There is a major rewrite for the Fody coming up that will support these features.

glennawatson commented 2 years ago

The fody is going into maintenance-only mode at the moment while we work on a new project which will replace the functionality in general. Keeping this open to track for the new project.

jcummings2 commented 2 years ago

By maintenance-only mode, I presume that's in reference to everyone-should-be-a-fody-patron.

Where is the new project and how can we contribute?

ljnober commented 6 months ago

I made some changes based on 19.5.41 to support this feature, but I'm not sure how to create pull requests https://github.com/reactiveui/ReactiveUI/compare/main...ljnober:ReactiveUI:nober-fody-support-IRectiveObject

glennawatson commented 6 months ago

We are moving Fody out to its own repo soon. You can push the pr against that. Long term plan is to retire the project.

ljnober commented 6 months ago

Is this repo? https://github.com/kswoll/ReactiveUI.Fody

GitHub
GitHub - kswoll/ReactiveUI.Fody: C# Fody extension to generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties.
C# Fody extension to generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties. - kswoll/ReactiveUI.Fody
glennawatson commented 6 months ago

No, on the weekend I'll do the work and deploy it to the rxui organisation as a separate repo. Similar to what we did with Uno.

Fody is not dependent on any particular RxUI version so doesn't need to be released with every rxui version.

ljnober commented 4 months ago

不,在周末,我将完成这项工作并将其作为单独的存储库部署到 rxui 组织。类似于我们对 Uno 所做的。

Fody 不依赖于任何特定的 RxUI 版本,因此不需要随每个 rxui 版本一起发布。

I found that Fody has been removed in version 19.5.72, but I can't find the ReactiveUI.Fody repository. How should I contribute to ReactiveUI.Fody

ChrisPulman commented 4 months ago

You can still use the last release of ReactiveUI.Fody, a new Source Generator version is being made that will replace Fody. Until then ReactiveUI.Fody can be used.

ChrisPulman commented 4 months ago

The original ReactiveUI.Fody will be placed in a separate Repository for security updates.