CommunityToolkit / CommunityToolkit/dotnet
Question [SourceGenerators]: Set WeakReferenceMessenger.Default for class with non-default ctor
- Dominant language
- C#
- Stars
- 3.8k
- Forks
- 400
- PR merge metrics
- No merged PRs in 30d
Description
### 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
Contributor guide
Assessment
This issue has not been assessed yet.