C# 无法应用属性类';JsonConverter';因为它是抽象的

C# 无法应用属性类';JsonConverter';因为它是抽象的,c#,json,json.net,C#,Json,Json.net,我正在使用Newtonsoft JSON库,并尝试反序列化JSON。问题是,当我使用[JsonConverter(typeof(StringEnumConverter))]时,我得到了一个错误:无法应用属性类“JsonConverter”,因为它是抽象的 以下是我的课程: public class ActionRepository { [JsonConverter(typeof(StringEnumConverter))] public enum AllowedActions

我正在使用Newtonsoft JSON库,并尝试反序列化JSON。问题是,当我使用
[JsonConverter(typeof(StringEnumConverter))]
时,我得到了一个错误:
无法应用属性类“JsonConverter”,因为它是抽象的

以下是我的课程:

 public class ActionRepository
{
    [JsonConverter(typeof(StringEnumConverter))]
    public enum AllowedActions
    {
        FINDWINDOW,
    }

    public enum AllowedParameters
    {
        WINDOWNAME,
    }
}



public class Action
{
    public AllowedActions Name { get; set; }
    public List<Parameter> Parameters { get; set; }
}
公共类ActionRepository
{
[JsonConverter(类型(StringEnumConverter))]
公共枚举允许的操作
{
芬德温道,
}
公共枚举允许的参数
{
WINDOWNAME,
}
}
公共集体诉讼
{
公共允许的操作名称{get;set;}
公共列表参数{get;set;}
}
我得到了
JsonConverter
下面的曲线


编辑:如果我导航到该类(ctrl+单击VS),JsonConverter类实际上是抽象的。我正在使用.NET for Windows Universal。

问题似乎是,当不是针对.NET framework应用程序时,
JsonConverter
类被标记为抽象类


看起来是使用
JsonConvert
作为替代方案。

这是一个愚蠢的想法,但由于它是抽象的,如果您只创建自己的子类并使用它会怎么样?
[JsonConverter(typeof(StringEnumConverter))]
不应用
JsonConverter
类型的属性,它应用非抽象的属性。根据:惯例,属性类的命名带有后缀
attribute
。表单类型名称的属性名称可以包含或省略此后缀。如果一个属性类既有后缀也没有后缀,则会出现歧义,并导致编译时错误。因此,IDE不知何故认为应用了
JsonConverter
,而不是
JsonConverterAttribute
,这很奇怪。这里可能有IDE错误?