传说中,.NET的XmlSerializer使用方便功能强,我们一直用它。只不过,它需要在运行时编译出一个或多个专门用来解析XML的DLL。为了免除这部分运行时编译开销,便诞生了SGen,用来预先生成解析的DLL。

但是,这里有几个没有说清楚的问题。首先,我们是不需要去手工引用并使用生成的*.XmlSerializer.DLL的。只要把它放在程序目录里,不需要修改原有代码,XmlSerializer在构造时会自动去寻找它是否存在。存在则加载,否则按原先的方式编译临时DLL。

其次,这个序列化DLL不是总能被使用。事实上,只有使用XmlSerializer的ctor(), ctor(Type), ctor(Type, string)这三个构造函数时,预生成的DLL才可以使用。而且对ctor(Type, string)的形式,第二个参数namespace必须和SGen所使用的namespace一致。对于其他构造函数,不但不能使用预生成的DLL,而且会每次构造时都重新生成一个新的DLL,即使构造参数完全相同。所以,这些复杂构造函数很邪恶,一般尽量避免。

最后,比较不爽的是,SGen缺省会把所有可能序列化的类型都处理了……有点浪费。

XmlSerializer中比SGen更深遂的问题相关推荐

  1. “非深度网络”12层打败50层,普林斯顿+英特尔:更深不一定更好

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI "深度" ...

  2. 学界 | OpenAI 发布稀疏计算内核,更宽更深的网络,一样的计算开销

    作者:杨晓凡 概要:OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核,它可以支持一种几乎没被人们探索过的神经网络架构:带有稀疏块权重的网络. OpenAI 的研究人员们近日发布了一 ...

  3. 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...

    本节书摘来自异步社区<Android游戏开发详解>一书中的第1章,第1.6节函数(在Java中称为"方法"更好),作者 [美]Jonathan S. Harbour,更 ...

  4. 第15章 MiniVGGNet:更深的CNNs

    第15章 MiniVGGNet:更深的CNNs VGGNet(或简称为VGG),第一次在文献<Very Deep Learning Convolutional Neural Networks f ...

  5. 12层打败50层,ParNet 普林斯顿+英特尔:更深不一定更好

    网友实现的: https://github.com/Pritam-N/ParNet/blob/main/parnet.py 2021.11.1,还没代码: https://github.com/ima ...

  6. 更深的编码器+更浅的解码器=更快的自回归模型

    论文标题: Deep Encoder, Shallow Decoder: Reevaluating the Speed-Quality Tradeoff in Machine Translation ...

  7. 豆瓣最高评分8.1!万维钢:读懂这本书,你会比身边人更深的理解这个时代

    ▲ 数据汪特别推荐 点击上图进入玩酷屋 小木用真金白银来给大家送礼物啦,特别感谢这些年一直以来大家对我们的支持,才让我们越做越好.(点我参与送礼活动) 这几年全球各大科技巨头纷纷进入人工智能领域,催生 ...

  8. 更深更宽的孪生网络,有效提升目标跟踪精度,代码开源

    点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友Mr.Chen投稿,深入解读了CVPR 2019 跟踪方向的论文Deeper and Wider Siamese Networks f ...

  9. 你真的了解爬虫吗?看完你会对网络爬虫有更深更全面的认识

    前言 爬虫是门很有意思的技术,可以通过爬虫技术获取一些别人拿不到或者需要付费才能拿到的东西,也可以对大量数据进行自动爬取和保存,减少时间和精力去手动做一些累活. 可以说很多人学编程,不玩点爬虫确实少了 ...

最新文章

  1. (转)linux基本变量学习:位置变量$0 、$1 shift轮替、本地变量、环境变量、特殊变量...
  2. 记录工作中常用的CSS3
  3. 常见问题_智能切膜机常见问题
  4. linux kernel and user space通信机制,Linux内核空间与用户空间通信机制地研究.doc
  5. 前端学习(1780):前端调试之快速转存站点的方法
  6. 计算机网络环境中学科教学,浅谈基于计算机网络环境下的农村小学的科学学科教育...
  7. 未来人工智能的发展应该有哪些特征?
  8. WiFi6模块 RW6852S-50 2T2R蓝牙模块 SDIO接口 WIFI6
  9. Linux中shell脚本详解
  10. 关于switchcase和ifelse的效率对比分析
  11. CA1704:标识符应正确拼写
  12. Spring @Aspect简单使用
  13. android之资源颜色汇总
  14. android手机电视互动,安卓手机投屏酷开电视如何实现 多屏互动这么玩
  15. JAVA基础试题抄录
  16. c语言中对用户乱输入信息处理,C语言程序设计教程 第06章.ppt
  17. 微软小娜关闭服务器,Win10关闭小娜服务的两个方法
  18. 接雨水---LeetCode----(20)--左右夹逼法
  19. 一款基于SpringBoot+layui 开源的固定设备资产管理系统源码 源码免费分享
  20. 高考改革后计算机老师,高考改革后 技术教师缺口很大

热门文章

  1. .NET软件开发工程师面试题(上)
  2. 二阶实正交矩阵的一般形式与SU(2)群
  3. html怎么制作网页封面,网页制作首页该怎么做
  4. 新需求、新政策陆续提出 亚洲光伏新兴市场走强
  5. matplotlib可视化绘图详解
  6. 人工智能的目标和终点?
  7. 【软件工程师学硬件】之 PCB
  8. 计算机软件著作财产权包括,著作财产权
  9. 易观推出面向初创企业的免费数据分析产品易观方舟Argo
  10. Android开发之Compose学习示例之一个简单的网络图片列表展示