TypeCodeDomSerializer.Deserialize 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将给定类型声明反序列化。
public:
virtual System::Object ^ Deserialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::CodeDom::CodeTypeDeclaration ^ declaration);
public virtual object Deserialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, System.CodeDom.CodeTypeDeclaration declaration);
abstract member Deserialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * System.CodeDom.CodeTypeDeclaration -> obj
override this.Deserialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * System.CodeDom.CodeTypeDeclaration -> obj
Public Overridable Function Deserialize (manager As IDesignerSerializationManager, declaration As CodeTypeDeclaration) As Object
参数
- manager
- IDesignerSerializationManager
用于序列化的序列化管理器。
- declaration
- CodeTypeDeclaration
用于序列化的类型声明。
返回
根对象。
例外
manager
或 typeDecl
为 null
。
注解
方法 Deserialize 反序列化以前序列化的代码类型声明。 下表显示了默认实现执行的任务。
任务 | 说明 |
---|---|
区分大小写检查 | 实现将搜索 CodeDomProvider 服务,以决定它是应将成员视为区分大小写还是不区分大小写。 |
语句排序 | init 方法中的所有成员变量和局部变量都存储在表中。 然后,init 方法中的每个语句将添加到根据其左侧分组的语句集合中,以便对特定变量进行赋值或操作的所有语句都分组到该变量下。 没有 语句的变量将被丢弃。 |
反序列化 | 根据 变量反序列化每个变量的语句集合。 |
下表显示了 方法所需的服务 Deserialize 。
服务 | 说明 |
---|---|
CodeDomProvider | 虽然不严格必要,但该服务(如果可用)用于确定序列化应区分大小写还是不区分大小写。 |
IContainer | 如果在反序列化期间名称表中不存在对象,则会查询 IContainer 。 如果此查询成功,则会检查容器中的对象。 容器还用作组件所需的任何容器参数的备用组件。 |