CodeDomSerializerBase.DeserializeExpression メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定された式をメモリ内オブジェクトに逆シリアル化します。
protected:
System::Object ^ DeserializeExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::String ^ name, System::CodeDom::CodeExpression ^ expression);
protected object DeserializeExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string name, System.CodeDom.CodeExpression expression);
member this.DeserializeExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * string * System.CodeDom.CodeExpression -> obj
Protected Function DeserializeExpression (manager As IDesignerSerializationManager, name As String, expression As CodeExpression) As Object
パラメーター
- manager
- IDesignerSerializationManager
シリアル化に使用する IDesignerSerializationManager 。
- name
- String
式の結果のオブジェクトの名前。 オブジェクトに名前を付ける必要がない場合は、 null できます。
- expression
- CodeExpression
解釈する CodeExpression 。
返品
expressionの解釈に起因するオブジェクト。
注釈
これは、派生クラスが式を逆シリアル化するために呼び出すことができるヘルパー メソッドです。
expression パラメーターで指定された CodeDOM 式を解釈して実行することでステートメントを逆シリアル化し、結果を返します。 この式の結果としてオブジェクトを作成する必要がある場合は、 name パラメーターで指定された名前が指定されます。 オブジェクトに名前を付ける必要がない場合は、名前を null できます。 次の表では、特定の式の処理方法について説明します。
| Expression | Behavior |
|---|---|
| CodeThisReferenceExpression | この式は、 this または Meを表します。 この式に関連付けられているオブジェクトを検索するために、 DeserializeExpression メソッドはコンテキスト スタックで RootContextを検索します。 このオブジェクトには、グラフのルート オブジェクトと、それを表す式が含まれます。 オブジェクトが存在し、式が一致する場合は、ルート オブジェクトが返されます。 インスタンスが見つからない場合、エラーが報告されます。 |
| CodeFieldReferenceExpression | フィールド参照のターゲットがルート オブジェクトに評価された場合、名前に基づいてオブジェクト インスタンスを取得するために、マネージャー パラメーターの GetInstance メソッドが使用されます。 それ以外の場合は、要求されたフィールドを見つけるためにターゲット オブジェクトに対して標準リフレクションが使用されます。 フィールドが見つからない場合、エラーが報告されます。 |
| CodeVariableReferenceExpression |
manager パラメーターの GetInstance メソッドを使用して、指定された変数名を表すインスタンスを検索します。 インスタンスが見つからない場合、エラーが報告されます。 |
DeserializeExpression は、オブジェクトに完全に解決されるまで、または式を簡略化できなくなるまで、式を解釈し続けます。 この場合、 DeserializeExpression は最も簡略化された式を含む CodeExpression を返します。 次の式はサポートされていません。