StreamingContext.Context プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)


null 参照 (Visual Basic では Nothing) でもかまいません。

state パラメータと additional パラメータを使用して、StreamingContext クラスのインスタンスを作成する例を次に示します。このコードでは、オブジェクトの逆シリアル化および Context プロパティの値を取得する方法も示します。
Imports System Imports System.Text Imports System.Runtime.Serialization.Formatters.Binary Imports System.Runtime.Serialization Imports System.IO Imports System.Security.Permissions Class Program Shared Sub Main(ByVal args() As String) Try SerializeAndDeserialize() Catch exc As System.Exception Console.WriteLine(exc.Message) Finally Console.WriteLine("Press <Enter> to exit....") Console.ReadLine() End Try End Sub Shared Sub SerializeAndDeserialize() Dim myObject As Object = DateTime.Now ' Create a StreamingContext that includes a ' a DateTime. Dim sc As New StreamingContext(StreamingContextStates.CrossProcess, myObject) Dim bf As New BinaryFormatter(Nothing, sc) Dim ms As New MemoryStream(New Byte(2047) {}) bf.Serialize(ms, New [MyClass]()) ms.Seek(0, SeekOrigin.Begin) Dim f As [MyClass] = CType(bf.Deserialize(ms), [MyClass]) Console.WriteLine(vbTab + " MinValue: {0} " + vbLf + vbTab + " MaxValue: {1}", f.MinValue, f.MaxValue) Console.WriteLine("StreamingContext.State: {0}", sc.State) Dim myDateTime As DateTime = CType(sc.Context, DateTime) Console.WriteLine("StreamingContext.Context: {0}", myDateTime.ToLongTimeString()) End Sub End Class <Serializable(), SecurityPermission(SecurityAction.Demand, SerializationFormatter := True)> _ Class [MyClass] Implements ISerializable Private minValue_value As Integer Private maxValue_value As Integer Public Sub New() minValue_value = Integer.MinValue maxValue_value = Integer.MaxValue End Sub Public Property MinValue() As Integer Get Return minValue_value End Get Set minValue_value = value End Set End Property Public Property MaxValue() As Integer Get Return maxValue_value End Get Set maxValue_value = value End Set End Property Sub GetObjectData(ByVal si As SerializationInfo, ByVal context As StreamingContext) Implements ISerializable.GetObjectData si.AddValue("minValue", minValue_value) si.AddValue("maxValue", maxValue_value) End Sub Protected Sub New(ByVal si As SerializationInfo, ByVal context As StreamingContext) minValue_value = Fix(si.GetValue("minValue", GetType(Integer))) maxValue_value = Fix(si.GetValue("maxValue", GetType(Integer))) End Sub End Class
using System; using System.Text; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.IO; using System.Security.Permissions; namespace StreamingContextExample { class Program { static void Main(string[] args) { try { SerializeAndDeserialize(); } catch (System.Exception exc) { Console.WriteLine(exc.Message); } finally { Console.WriteLine("Press <Enter> to exit...."); Console.ReadLine(); } } static void SerializeAndDeserialize() { object myObject = DateTime.Now; // Create a StreamingContext that includes a // a DateTime. StreamingContext sc = new StreamingContext( StreamingContextStates.CrossProcess, myObject); BinaryFormatter bf = new BinaryFormatter(null, sc); MemoryStream ms = new MemoryStream(new byte[2048]); bf.Serialize(ms, new MyClass()); ms.Seek(0, SeekOrigin.Begin); MyClass f = (MyClass)bf.Deserialize(ms); Console.WriteLine("\t MinValue: {0} \n\t MaxValue: {1}", f.MinValue , f.MaxValue); Console.WriteLine("StreamingContext.State: {0}", sc.State); DateTime myDateTime = (DateTime)sc.Context; Console.WriteLine("StreamingContext.Context: {0}", myDateTime.ToLongTimeString()); } } [Serializable] [SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)] class MyClass : ISerializable { private int minValue_value; private int maxValue_value; public MyClass() { minValue_value = int.MinValue; maxValue_value = int.MaxValue; } public int MinValue { get { return minValue_value; } set { minValue_value = value;} } public int MaxValue { get { return maxValue_value; } set { maxValue_value = value; } } void ISerializable.GetObjectData(SerializationInfo si, StreamingContext context) { si.AddValue("minValue", minValue_value); si.AddValue("maxValue", maxValue_value); } protected MyClass(SerializationInfo si, StreamingContext context) { minValue_value = (int)si.GetValue("minValue", typeof(int)); maxValue_value = (int)si.GetValue("maxValue", typeof(int)); } } }

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からStreamingContext.Context プロパティを検索する場合は、下記のリンクをクリックしてください。

- StreamingContext.Context プロパティのページへのリンク