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{