我为字典编写了一个序列化程序(到字节数组),它有一个字符串键,但它的值是某种类型的对象。
我以前从未在函数中实现过泛型类型或使用过委托,因此我有点担心这比为特定类型的字典(例如Dictionary(of String,MyClass))编写序列化函数要慢得多。
由于使用泛型类型或委托,此代码是否应该明显较慢?
Public Delegate Function Serializer(Of T)(ByRef Obj As T) As Byte()
Function SerializeDictionary_String_Object(Of T)(ByRef D As Dictionary(Of String, T), ByVal S As Serializer(Of T)) As Byte()
Dim OBJ As T
For Each X In D
OBJ = X.Value
Exit For
Next
Return S(OBJ)
End Function
下面是一些代码:
SerializeDictionary_String_Object(Of MyClass)(MyDictionary, AddressOf MyClass.Serialize)
它可以工作,我可以循环它并将它与更静态的字典序列化程序进行比较,但是我更关心的是,当我开始将它用于许多不同的字符串/对象字典组合时,我会花很长时间来编写一堆静态字典序列化程序(这是我希望首先避免的)
编辑:简化简介文本