Generics 如何在protobuff net中注册泛型类的代理?
我有一个泛型类,Generics 如何在protobuff net中注册泛型类的代理?,generics,protobuf-net,Generics,Protobuf Net,我有一个泛型类,PropertyCollection。因为它包含一个具有对象类型值的集合,所以我必须使用代理。诀窍是,我想对传入的TKey中的所有可能类型执行一次 对于单一类型,我没有问题。如果我想在TKey是MyEnum时使用代理,我使用下面的代码块,它可以正常工作 RuntimeTypeModel.Default .Add(typeof(PropertyCollection),false) .SetSurrogate(类型为(PropertyCollectionsProxy)); 我的挑战
PropertyCollection
。因为它包含一个具有对象类型值的集合,所以我必须使用代理。诀窍是,我想对传入的TKey
中的所有可能类型执行一次
对于单一类型,我没有问题。如果我想在TKey
是MyEnum
时使用代理,我使用下面的代码块,它可以正常工作
RuntimeTypeModel.Default
.Add(typeof(PropertyCollection),false)
.SetSurrogate(类型为(PropertyCollectionsProxy));
我的挑战是让它与TKey
的所有值一起工作。我尝试在用[onserialization]
属性修饰的方法中添加类型,但这不起作用,因为已经创建了序列化程序
我意识到每个TKey
本质上都是不同的方法,所以我可能被卡住了。
是否有一种方法可以使用类后面的属性注册代理?或者我可以使用[onserialization]
和[onserialization]
属性有效地“滚动我自己的”序列化吗
在这里做任何事都会很感激的