C# 无法强制转换列表<;对象>;列出<;自定义对象>;

C# 无法强制转换列表<;对象>;列出<;自定义对象>;,c#,json,list,tolist,C#,Json,List,Tolist,我有三节课,如下所示 [Serializable] public class Classa { public list<Object> list {get; set;} } [Serializable] public class Classb { public string name {get; set;} public string nickname {get; set;} } [Serializable] public class Classc { publ

我有三节课,如下所示

[Serializable]
public class Classa {
  public list<Object> list {get; set;}
}

[Serializable]
public class Classb {
  public string name {get; set;}
  public string nickname {get; set;}
}


[Serializable]
public class Classc {
  public string type {get; set;}
  public string price {get; set;}
}
它抛出:

无法将“Newtonsoft.Json.Linq.JObject”类型的对象强制转换为 “B类”

我试过:

List<Classb> blist = aOfType<Classb>().ToList();
List blist=aOfType().ToList();

成功但没有价值。

在Classa中,您有一个包含对象的列表,但您需要一个包含Classb的列表。所以改变这个

[Serializable]
public class Classa{
list<Object> list{get;set;}
}

我知道这是一个解决办法。。但是我还有别的课,比如C班。。我也想把它列在清单上。。所以我不能改成列表。顺便说一句,谢谢。如果你想这样做,你可以让Classa有两个列表,Classb和Classc。但是如果你真的想让Classa只有一个列表。您创建了一个新的ClassSuper,并使Classb和Classc从ClassSuper扩展。Classa将有一个包含ClassH的列表。。我自己修好的。。。只需先转换为Jarray即可解决此问题
[Serializable]
public class Classa{
list<Object> list{get;set;}
}
[Serializable]
public class Classa{
list<Classb> list{get;set;}
}
 List<Classb> blist = a.list.Cast<Classb>().toList();
List<Classb> blist = a.list;
publc class Classb{