如何查找.NET Framework 4.8.1中两类序列化类型的微软参考源
寻找.NET Framework 4.7.1+中
DataContractSerializerExtensions与ISerializationSurrogateProvider的参考源码 我正在查找.NET Framework 4.8.1中DataContractSerializerExtensions和ISerializationSurrogateProvider类型的微软参考源码,.NET Framework 4.8、4.7.2或4.7.1版本的源码也可接受。
这两个类型最初在.NET Standard/.NET Core 3.1中引入,用于替代由IDataContractSurrogate提供的数据契约代理功能。由于IDataContractSurrogate被有意从.NET Standard和.NET Core中移除,ISerializationSurrogateProvider和DataContractSerializerExtensions被设计为.NET Framework原有功能的“部分外观”。之后这两个类型被反向移植到.NET Framework 4.7.1及更高版本,相关文档快照可证明这一点。
我推测此次反向移植是基于.NET Framework中仍保留的IDataContractSurrogate接口,通过适配器模式实现的,因此其实现逻辑与.NET Core版本可能存在较大差异。
我已尝试以下途径,但均未找到目标源码:
- 未在microsoft/referencesource仓库中找到(搜索无结果),该仓库仅包含.NET Framework 4.6.2版本的源码
- 未在dotnet/runtime仓库中找到,该仓库中的对应源码仅为.NET Core实现,且无.NET Framework相关标签
- referencesource.microsoft.com现已重定向至上述第一个仓库
内容的提问来源于stack exchange,提问作者dbc




