次の方法で共有


ObjectStateFormatter.Serialize メソッド

定義

オブジェクトの状態グラフをシリアル化します。

オーバーロード

Serialize(Object)

オブジェクトの状態グラフを base64 エンコードされた文字列にシリアル化します。

Serialize(Stream, Object)

オブジェクトの状態グラフを指定された Stream オブジェクトにシリアル化します。

Serialize(Object)

オブジェクトの状態グラフを base64 エンコードされた文字列にシリアル化します。

public:
 System::String ^ Serialize(System::Object ^ stateGraph);
public string Serialize (object stateGraph);
member this.Serialize : obj -> string
Public Function Serialize (stateGraph As Object) As String

パラメーター

stateGraph
Object

シリアル化するオブジェクト。

戻り値

String

stateGraph パラメーターのシリアル化されたオブジェクトの状態を表す base-64 エンコードされた文字列。

次のコード例は、このメソッドを使用して、コントロール プロパティのセットの値を base64 でエンコードされた文字列にシリアル化する方法を Serialize(Object) 示しています。 この文字列は、メソッドを使用して後 Deserialize(String) で逆シリアル化できます。


ArrayList controlProperties = new ArrayList(3);

controlProperties.Add( SortDirection );
controlProperties.Add( SelectedColumn );
controlProperties.Add( CurrentPage.ToString() );

// Create an ObjectStateFormatter to serialize the ArrayList.
ObjectStateFormatter formatter = new ObjectStateFormatter();

// Call the Serialize method to serialize the ArrayList to a Base64 encoded string.
string base64StateString = formatter.Serialize(controlProperties);
Dim controlProperties As New ArrayList(3)

controlProperties.Add(SortDirection)
controlProperties.Add(SelectedColumn)
controlProperties.Add(CurrentPage.ToString())

' Create an ObjectStateFormatter to serialize the ArrayList.
Dim formatter As New ObjectStateFormatter()

' Call the Serialize method to serialize the ArrayList to a Base64 encoded string.
Dim base64StateString As String = formatter.Serialize(controlProperties)

注釈

メソッドで Serialize シリアル化されたオブジェクト グラフは、そのメソッドで Deserialize 逆シリアル化できます。 この Serialize(Object) メソッドは、オブジェクト状態グラフを base64 でエンコードされた文字列形式にシリアル化するために使用されます。

適用対象

Serialize(Stream, Object)

オブジェクトの状態グラフを指定された Stream オブジェクトにシリアル化します。

public:
 void Serialize(System::IO::Stream ^ outputStream, System::Object ^ stateGraph);
public void Serialize (System.IO.Stream outputStream, object stateGraph);
member this.Serialize : System.IO.Stream * obj -> unit
Public Sub Serialize (outputStream As Stream, stateGraph As Object)

パラメーター

outputStream
Stream

Stream が指定されたオブジェクトの状態をシリアル化する ObjectStateFormatter

stateGraph
Object

シリアル化するオブジェクト。

例外

指定された outputStreamnull です。

次のコード例は、メソッドを使用してビューステートと制御状態を ObjectStateFormatter ストリームにシリアル化するインスタンスをクラスが取得する方法を Serialize(Stream, Object) 示しています。 このコード例は、PageStatePersister クラスのために提供されている大規模な例の一部です。

//
// Persist any ViewState and ControlState.
//
public override void Save()
{

    if (ViewState != null || ControlState != null)
    {
        if (Page.Session != null)
        {
            Stream stateStream = GetSecureStream();

            StreamWriter writer = new StreamWriter(stateStream);

            IStateFormatter formatter = this.StateFormatter;
            Pair statePair = new Pair(ViewState, ControlState);

            // Serialize the statePair object to a string.
            string serializedState = formatter.Serialize(statePair);

            writer.Write(serializedState);
            writer.Close();
            stateStream.Close();
        }
        else
        {
            throw new InvalidOperationException("Session needed for StreamPageStatePersister.");
        }
    }
}
'
' Persist any ViewState and ControlState.
'
Public Overrides Sub Save()

    If Not (ViewState Is Nothing) OrElse Not (ControlState Is Nothing) Then
        If Not (Page.Session Is Nothing) Then

            Dim stateStream As Stream
            stateStream = GetSecureStream()

            ' Write a state string, using the StateFormatter.
            Dim writer As New StreamWriter(stateStream)

            Dim formatter As IStateFormatter
            formatter = Me.StateFormatter

            Dim statePair As New Pair(ViewState, ControlState)

            Dim serializedState As String
            serializedState = formatter.Serialize(statePair)

            writer.Write(serializedState)
            writer.Close()
            stateStream.Close()
        Else
            Throw New InvalidOperationException("Session needed for StreamPageStatePersister.")
        End If
    End If
End Sub

注釈

メソッドで Serialize シリアル化されたオブジェクト状態グラフは、そのメソッドで Deserialize 逆シリアル化できます。 この Serialize(Stream, Object) メソッドは、オブジェクト状態グラフをバイナリ Stream オブジェクトにシリアル化するために使用されます。

適用対象