TypeCodeDomSerializer.Deserialize Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Deserializes the given type declaration.
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
Parameters
- manager
- IDesignerSerializationManager
The serialization manager to use for serialization.
- declaration
- CodeTypeDeclaration
Type declaration to use for serialization.
Returns
The root object.
Exceptions
manager
or typeDecl
is null
.
Remarks
The Deserialize method deserializes a previously serialized code type declaration. The following table shows the tasks default implementation performs.
Task | Description |
---|---|
Case Sensitivity Checks | The implementation searches for a CodeDomProvider service to decide if it should treat members as case sensitive or case insensitive. |
Statement Sorting | All member variables and local variables from init methods are stored in a table. Then each statement in an init method is added to a statement collection grouped according to its left-hand side, so all statements assigning or operating on a particular variable are grouped under that variable. Variables that have no statements are discarded. |
Deserialization | The statement collections for each variable are deserialized according to the variable. |
The following table shows the services the Deserialize method requires.
Service | Description |
---|---|
CodeDomProvider | While not strictly necessary, the service, if available, is used to determine if the serialization should be case sensitive or case insensitive. |
IContainer | If an object does not exist in the name table during deserialization, a query for IContainer is made. If this query succeeds, the container is checked for the object. The container is also used as a stand-in for any container argument needed by components. |