我从api获得的json数据包括对象的类型。我想使用自定义序列化绑定器反序列化这些类型。名称空间保留,程序集更改。
public class SerializationBinder : Newtonsoft.Json.SerializationBinder
{
// Type / Assembly Dictionary
private Dictionary<String, String> KnownCoreTypes = new Dictionary<string, string>
{
{"My.Custom.NameSpace.Type", "Core" }
};
public override Type BindToType(string assemblyName, string typeName)
{
Type tmpTypeToDeserialize = null;
string tmpActualValue;
if (KnownCoreTypes.TryGetValue(typeName, out tmpActualValue) && tmpActualValue == assemblyName)
{
assemblyName = typeof(SerializationBinder).GetTypeInfo().Assembly.FullName;
}
// The following line of code returns the type.
tmpTypeToDeserialize = Type.GetType($"{typeName}, {assemblyName}");
return tmpTypeToDeserialize;
}
}
但是,如果我有My.Custom.NameSpace.Type
的集合怎么办?
如何解决System.Collections.Generic.List'1[[My.Custom.NameSpace.Type, Core]], mscorlib
?