Language

CodeDomSerializerBase.SerializeToExpression メソッド

定義

指定されたオブジェクトを式にシリアル化します。

protected:
 System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
protected System.CodeDom.CodeExpression? SerializeToExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object? value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression

パラメーター

manager
IDesignerSerializationManager

シリアル化に使用する IDesignerSerializationManager 。

value
Object

シリアル化するオブジェクト。 null の可能性があります。

返品

CodeExpressionシリアル化できる場合はvalue オブジェクト。それ以外の場合はnull。

例外

manager は nullです。

注釈

valueパラメーターをnullできます。この場合、プリミティブ式が返されます。

SerializeToExpressionメソッドは、型をシリアル化するために次の規則を使用します。

  1. 最初に、 GetExpression メソッドを呼び出して、オブジェクトの式が既に作成されているかどうかを確認します。 その場合は、既存の式が返されます。

  2. 次に、オブジェクトのシリアライザーを検索し、シリアル化を要求します。

  3. オブジェクトのシリアライザーの戻り値が CodeExpressionの場合、式が返されます。

  4. シリアライザーが式を追加したかどうかを確認するために、 GetExpression の最後の呼び出しを 1 回行います。

  5. 最後に、 nullを返します。

式を作成できず、適切なシリアライザーが見つからなかった場合は、シリアル化マネージャーを通じてエラーが報告されます。 シリアライザーが見つかったが、式の生成に失敗した場合、エラーは報告されません。 この場合、シリアライザーは既にエラーを報告しているか、オブジェクトのシリアル化を試みなかったと見なされます。

シリアライザーがステートメントまたはステートメントのコレクションを返した場合、それらのステートメントは破棄されません。 SerializeToExpression メソッドは、まずコンテキスト スタック上のStatementContextを検索し、ステートメント コンテキスト オブジェクトの StatementCollection プロパティにステートメントを追加します。 ステートメント コンテキストがない場合、 SerializeToExpression メソッドはコンテキスト内で CodeStatementCollection を検索し、そこにステートメントを追加します。 ステートメントを追加する場所が見つからない場合は、エラーが生成されます。

Note

独自のオブジェクトをシリアル化するときは、SerializeToExpression内で Serialize メソッドを呼び出さないでください。 代わりに、 GetExpressionを呼び出す必要があります。 nullを返す場合は、独自の式を作成し、SetExpressionを呼び出します。 その後、シリアル化の残りの部分に進みます。

適用対象

こちらもご覧ください