I want to use record with JsonPropertyName attribute, but it caused an error. This is not supported? Any workaround?
public record QuoteResponse([JsonPropertyName("quotes")] IReadOnlyCollection<Quote>? Quotes);
Error CS0592 Attribute 'JsonPropertyName' is not valid on this declaration type. It is only valid on 'property, indexer, field' declarations.
By default attributes on record parameters apply to the parameter. To make them apply to the property you have to prefix it with the property:
attribute location:
public record QuoteResponse([property: JsonPropertyName("quotes")] IReadOnlyCollection<Quote>? Quotes);
There are 2 ways (that I know of) to create a record, the below will hopefully solve it for you.
public record QuoteResponse
{
[JsonPropertyName("quotes")]
public IReadOnlyCollection<Quote>? Quotes {get; init;}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With