ObjectStateFormatter.Serialize メソッド

定義

オブジェクトの状態グラフをシリアル化します。Serializes an object state graph.

オーバーロード

Serialize(Object)

オブジェクトの状態グラフを base64 エンコードされた文字列にシリアル化します。Serializes an object state graph to a base64-encoded string.

Serialize(Stream, Object)

オブジェクトの状態グラフを指定された Stream オブジェクトにシリアル化します。Serializes an object state graph to the specified Stream object.

Serialize(Object)

オブジェクトの状態グラフを base64 エンコードされた文字列にシリアル化します。Serializes an object state graph to a base64-encoded string.

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

シリアル化するオブジェクト。The object to serialize.

戻り値

stateGraph パラメーターのシリアル化されたオブジェクトの状態を表す base-64 エンコードされた文字列。A base-64 encoded string that represents the serialized object state of the stateGraph parameter.

実装

次のコード例は、 Serialize(Object)メソッドを使用して、一連のコントロールプロパティの値を base64 でエンコードされた文字列にシリアル化する方法を示しています。The following code example demonstrates how to serialize the values of a set of control properties to a base64-encoded string using the Serialize(Object) method. 文字列は、 Deserialize(String)メソッドを使用して後で逆シリアル化できます。The string can be deserialized at a later time with the Deserialize(String) method.


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メソッドを使用して逆シリアル化できます。Any object graph that is serialized with the Serialize method can be deserialized with the Deserialize method. メソッドSerialize(Object)は、オブジェクトの状態グラフを base64 でエンコードされた文字列形式にシリアル化するために使用されます。The Serialize(Object) method is used to serialize an object state graph to a base64-encoded string form.

Serialize(Stream, Object)

オブジェクトの状態グラフを指定された Stream オブジェクトにシリアル化します。Serializes an object state graph to the specified Stream object.

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 が指定されたオブジェクトの状態をシリアル化する ObjectStateFormatterA Stream to which the ObjectStateFormatter serializes the state of the specified object.

stateGraph
Object

シリアル化するオブジェクト。The object to serialize.

実装

例外

指定された inputStreamnull です。The specified inputStream is null.

次のコード例は、 ObjectStateFormatter Serialize(Stream, Object)メソッドを使用して、ビューステートとコントロール状態をシリアル化するためのインスタンスをクラスが取得する方法を示しています。The following code example demonstrates how a class retrieves an ObjectStateFormatter instance to serialize view state and control state to a stream using the Serialize(Stream, Object) method. このコード例は、 PageStatePersisterクラスに対して提供される大規模な例の一部です。This code example is part of a larger example provided for the PageStatePersister class.

//
// 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メソッドを使用して逆シリアル化できます。Any object state graph that is serialized with the Serialize method can be deserialized with the Deserialize method. メソッドSerialize(Stream, Object)は、オブジェクトの状態グラフをバイナリStreamオブジェクトにシリアル化するために使用されます。The Serialize(Stream, Object) method is used to serialize an object state graph to a binary Stream object.

適用対象