C#9不支持JsonPropertyNameAttribute记录?
c#
c#-9.0
我想使用带有 JsonPropertyName 属性的记录,但它导致了错误。这个不支持?任何解决方法?
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.
回答
默认情况下,记录参数的属性适用于参数。要将它们应用于属性,您必须使用property:
属性位置作为前缀:
public record QuoteResponse([property: JsonPropertyName("quotes")] IReadOnlyCollection<Quote>? Quotes);