dotnet icon indicating copy to clipboard operation
dotnet copied to clipboard

Question [SourceGenerators]: Set WeakReferenceMessenger.Default for class with non-default ctor

Open get-flat opened this issue 3 years ago • 0 comments

Overview

Would it be possible to default Messenger to use WeakReferenceMessenger.Default for ObservableRecipient class when non-default constructor is used? (SourceGenerators only)

Example:

[ObservableObject]
[ObservableRecipient]
public partial class Class1
{
}

Generates: public Class1() : this(global::CommunityToolkit.Mvvm.Messaging.WeakReferenceMessenger.Default)

vs

[ObservableObject]
[ObservableRecipient]
public partial class Class1
{
    public Class1()
    {
    }
}

 protected global::CommunityToolkit.Mvvm.Messaging.IMessenger Messenger { get; **set;** } = global::CommunityToolkit.Mvvm.Messaging.WeakReferenceMessenger.Default;

May help upgrading from ObservableRecipient base class to SourceGenerators (when some classes work and other not :) )

API breakdown

n/a

Usage example

n/a

Breaking change?

I'm not sure

Alternatives

n/a

Additional context

No response

Help us help you

No, just wanted to propose this

get-flat avatar Jun 14 '22 14:06 get-flat