IBsonSerializer 'ValueType' 属性 的目的是什么,MongoDB C# 驱动程序 2.2.2

What's the purpose of the 'ValueType' property on IBsonSerializer, MongoDB C# driver 2.2.2

我正在通过实现接口来实现自定义序列化程序:在 MongoDB C# 驱动程序版本 2.2.2 上定义的 IBsonSerializer。

Serialize 和 Deserialize 方法很清楚,但是有一个 属性:

Type ValueType { get; }

documentation page on mongodb.org for IBsonSerializer 只说: "Gets the type of the value." mongodb.github.io 上详尽的 API 参考完全没有提及此 属性。

这个getter的目的是什么?

这样驱动程序就知道这个序列化器适用于什么类型。当使用通用接口 IBsonSerializer 时,ValueType 属性 将 return typeof(T)。然而,驱动程序经常使用非泛型 IBsonSerializer 并且需要知道这些信息,所以有一个 属性 来提供它。

也许你问的一些背景可以帮助我提供更具体的答案。