我有两个实现IDownloadable接口的类。我得到包含两个随机类的json列表。我想从该列表中过滤掉所有的T,但是问题是由于该接口,序列化总是“有效”。到目前为止,这是我的代码(细分):
public List<T> GetObjectsFromList<T>(List<string> list)where T:IDownloadable{
var list = new List<T>();
foreach(string s in list){
T t = Newtonsoft.Json.JsonConvert.DeserializeObject<T>(json);
if(t is T && t != null)
list.Add(T);
}
}
有没有办法说序列化总是必须使用json中的所有对象? EG:
Json:
{
"Test":1,
"Bla": 2
}
班级:
class A{
int Test;
}
class B{
int Test;
int Bla;
}
_
//this should not work because we dont use "Bla" from the json
A a = Newtonsoft.Json.JsonConvert.DeserializeObject<A>(json);
//this should work because we use every object from the json
B b = Newtonsoft.Json.JsonConvert.DeserializeObject<B>(json);
PS:切换到其他json序列化程序我没有问题