Open
Description
Describe the bug
When adding a custom attribute using [property:MyAttribute] the ObservableProperty source generator does not generate named arguments passed to the attributes constructor.
Regression
No response
Steps to reproduce
- Custom attribute with optional constructor arguments
public sealed class PropertyListIncludeAttribute : Attribute
{
public string? Category { get; private init; }
public string? Label { get; private init; }
public PropertyListIncludeAttribute(string? label = null, string? category = null)
{
Label = label;
Category = category;
}
}
- Usage with ObservableProperty
[ObservableProperty]
[property: PropertyListInclude(category: "Another Category")]
private int testInt;
- See problem in source generated result
/// <inheritdoc cref="testInt"/>
[global::System.CodeDom.Compiler.GeneratedCode("CommunityToolkit.Mvvm.SourceGenerators.ObservablePropertyGenerator", "8.3.0.0")]
[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
[global::DotNetElements.DevTools.SDK.Core.PropertyListIncludeAttribute("Another Category")]
public int TestInt
{
get => testInt;
set
{
if (!global::System.Collections.Generic.EqualityComparer<int>.Default.Equals(testInt, value))
{
OnTestIntChanging(value);
OnTestIntChanging(default, value);
OnPropertyChanging(global::CommunityToolkit.Mvvm.ComponentModel.__Internals.__KnownINotifyPropertyChangingArgs.TestInt);
testInt = value;
OnTestIntChanged(value);
OnTestIntChanged(default, value);
OnPropertyChanged(global::CommunityToolkit.Mvvm.ComponentModel.__Internals.__KnownINotifyPropertyChangedArgs.TestInt);
}
}
}
Expected behavior
Named arguments need to be properly passed to the source generator
[global::DotNetElements.DevTools.SDK.Core.PropertyListIncludeAttribute(category:"Another Category")]
Screenshots
No response
IDE and version
VS 2022
IDE version
No response
Nuget packages
- CommunityToolkit.Common
- CommunityToolkit.Diagnostics
- CommunityToolkit.HighPerformance
- CommunityToolkit.Mvvm (aka MVVM Toolkit)
Nuget package version(s)
8.3.2
Additional context
No response
Help us help you
No, just wanted to report this