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 或 declaration 為 null。
備註
此方法將 Deserialize 先前序列化的程式碼類型宣告反序列化。 下表顯示預設實作執行的任務。
| 任務 | 說明 |
|---|---|
| 大小寫敏感性檢查 | 實作會尋找服務 CodeDomProvider 來決定是否應將成員視為大小寫區分或不區分大小寫。 |
| 語句排序 | init 方法中的所有成員變數與本地變數皆儲存在資料表中。 接著,init 方法中的每個語句都會加入一個根據其左側分組的語句集合,因此所有指派或操作特定變數的語句都會歸類於該變數之下。 沒有陳述的變數會被丟棄。 |
| 反序列化 | 每個變數的語句集合會依變數進行反序列化。 |
下表顯示該 Deserialize 方法所需的服務。
| 服務 | 說明 |
|---|---|
| CodeDomProvider | 雖然非絕對必要,但若有此功能,則用來判斷序列化應為大小寫區分或不區分大小寫。 |
| IContainer | 如果在反序列化過程中名稱表中沒有物件,則會查詢 。IContainer 如果此查詢成功,容器會被檢查是否有該物件。 容器也被用作元件所需的容器參數的替代。 |