@@ -83,18 +83,30 @@ class MessagePackWellKnownSerializationTypes : IWellKnownSerializationTypes
8383 public IReadOnlyDictionary < string , string > GenericFormattersMap { get ; } = new Dictionary < string , string >
8484 {
8585 { "global::System.Nullable<>" , "global::MessagePack.Formatters.NullableFormatter" } ,
86+ // https://github.com/MessagePack-CSharp/MessagePack-CSharp/blob/v3.0.300/src/MessagePack/Resolvers/DynamicGenericResolver.cs#L52
8687 { "global::System.Collections.Generic.List<>" , "global::MessagePack.Formatters.ListFormatter" } ,
88+ { "global::System.Collections.Generic.LinkedList<>" , "global::MessagePack.Formatters.LinkedListFormatter" } ,
89+ { "global::System.Collections.Generic.Queue<>" , "global::MessagePack.Formatters.QueueFormatter" } ,
90+ //{"global::System.Collections.Generic.PriorityQueue<,>", "global::MessagePack.Formatters.PriorityQueueFormatter" },
91+ { "global::System.Collections.Generic.Stack<>" , "global::MessagePack.Formatters.StackFormatter" } ,
92+ { "global::System.Collections.Generic.HashSet<>" , "global::MessagePack.Formatters.HashSetFormatter" } ,
93+ { "global::System.Collections.ObjectModel.ReadOnlyCollection<>" , "global::MessagePack.Formatters.ReadOnlyCollectionFormatter" } ,
8794 { "global::System.Collections.Generic.IList<>" , "global::MessagePack.Formatters.InterfaceListFormatter2" } ,
88- { "global::System.Collections.Generic.IReadOnlyList<>" , "global::MessagePack.Formatters.InterfaceReadOnlyListFormatter" } ,
89- { "global::System.Collections.Generic.Dictionary<,>" , "global::MessagePack.Formatters.DictionaryFormatter" } ,
90- { "global::System.Collections.Generic.IDictionary<,>" , "global::MessagePack.Formatters.InterfaceDictionaryFormatter" } ,
91- { "global::System.Collections.Generic.IReadOnlyDictionary<,>" , "global::MessagePack.Formatters.InterfaceReadOnlyDictionaryFormatter" } ,
9295 { "global::System.Collections.Generic.ICollection<>" , "global::MessagePack.Formatters.InterfaceCollectionFormatter2" } ,
93- { "global::System.Collections.Generic.IReadOnlyCollection<>" , "global::MessagePack.Formatters.InterfaceReadOnlyCollectionFormatter" } ,
9496 { "global::System.Collections.Generic.IEnumerable<>" , "global::MessagePack.Formatters.InterfaceEnumerableFormatter" } ,
95- { "global::System.Collections.Generic.KeyValuePair<,>" , "global::MessagePack.Formatters.KeyValuePairFormatter" } ,
97+ { "global::System.Collections.Generic.Dictionary<,>" , "global::MessagePack.Formatters.DictionaryFormatter" } ,
98+ { "global::System.Collections.Generic.IDictionary<,>" , "global::MessagePack.Formatters.InterfaceDictionaryFormatter" } ,
99+ { "global::System.Collections.Generic.SortedDictionary<,>" , "global::MessagePack.Formatters.SortedDictionaryFormatter" } ,
100+ { "global::System.Collections.Generic.SortedList<,>" , "global::MessagePack.Formatters.SortedListFormatter" } ,
96101 { "global::System.Linq.ILookup<,>" , "global::MessagePack.Formatters.InterfaceLookupFormatter" } ,
97102 { "global::System.Linq.IGrouping<,>" , "global::MessagePack.Formatters.InterfaceGroupingFormatter" } ,
103+ { "global::System.Collections.Generic.IReadOnlyList<>" , "global::MessagePack.Formatters.InterfaceReadOnlyListFormatter" } ,
104+ { "global::System.Collections.Generic.IReadOnlyCollection<>" , "global::MessagePack.Formatters.InterfaceReadOnlyCollectionFormatter" } ,
105+ { "global::System.Collections.Generic.ISet<>" , "global::MessagePack.Formatters.InterfaceSetFormatter" } ,
106+ { "global::System.Collections.Generic.IReadOnlySet<>" , "global::MessagePack.Formatters.InterfaceReadOnlySetFormatter" } ,
107+ { "global::System.Collections.ObjectModel.ReadOnlyDictionary<,>" , "global::MessagePack.Formatters.ReadOnlyDictionaryFormatter" } ,
108+ { "global::System.Collections.Generic.IReadOnlyDictionary<,>" , "global::MessagePack.Formatters.InterfaceReadOnlyDictionaryFormatter" } ,
109+ { "global::System.Collections.Generic.KeyValuePair<,>" , "global::MessagePack.Formatters.KeyValuePairFormatter" } ,
98110 { "global::System.Tuple<>" , "global::MessagePack.Formatters.TupleFormatter" } ,
99111 { "global::System.Tuple<,>" , "global::MessagePack.Formatters.TupleFormatter" } ,
100112 { "global::System.Tuple<,,>" , "global::MessagePack.Formatters.TupleFormatter" } ,
0 commit comments