次の方法で共有


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 の可能性があります。

戻り値

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

例外

managernull です。

注釈

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

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

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

  2. 次に、オブジェクトのシリアライザーを見つけて、シリアル化するように求めます。

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

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

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

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

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

注意

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

適用対象

こちらもご覧ください