我有一个从jsonconverter继承的类: JsonDataBagCreationConverter<T> : JsonConverter where T : IDataBag
我有一家实现idatabag的班级公司
当我对公司JSondataBagCreationConverter的单属性进行单一属性时,就会按照我的期望调用其readjson方法。当我对公司的 Array 进行估算时,JsondatabagcreationConverter的读取方法如我所期望的那样被调用。它还适用于 generic 公司列表。
但是,对于公司JSON.NET公司的某些容器,将不认识到列表的内容是类型公司。因此,当我避免时,不会使用jsondatabagcreationConverter。
即类型容器 System.Collections.dictionaryEntry, system.collections.arraylist, system.collections.hashtable, System.Collections.SortedList这存储公司对象。
我知道这些容器是非类型的。是否可以使(DE-)序列化器查看这些容器的内容,并在目录是idatabag(即公司)时使用jsondatabagagcreationConverter?
最好的问候
Jan
从转换器中删除where T : IDataBag
并覆盖CanConvert
,并编写您的逻辑以检查您的类型并符合返回true或false。