本文整理汇总了VB.NET中System.Runtime.Serialization.OnSerializingAttribute类的典型用法代码示例。如果您正苦于以下问题:VB.NET OnSerializingAttribute类的具体用法?VB.NET OnSerializingAttribute怎么用?VB.NET OnSerializingAttribute使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OnSerializingAttribute类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的VB.NET代码示例。
示例1: Main
' 导入命名空间
Imports System.IO
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Binary
Public Class Test
Public Shared Sub Main()
' Create a new TestSimpleObject object.
Dim obj As New TestSimpleObject()
Console.WriteLine(vbLf + " Before serialization the object contains: ")
obj.Print()
' Open a file and serialize the object into binary format.
Dim stream As Stream = File.Open("DataFile.dat", FileMode.Create)
Dim formatter As New BinaryFormatter()
Try
formatter.Serialize(stream, obj)
' Print the object again to see the effect of the
'OnSerializedAttribute.
Console.WriteLine(vbLf + " After serialization the object contains: ")
obj.Print()
' Set the original variable to null.
obj = Nothing
stream.Close()
' Open the file "DataFile.dat" and deserialize the object from it.
stream = File.Open("DataFile.dat", FileMode.Open)
' Deserialize the object from the data file.
obj = CType(formatter.Deserialize(stream), TestSimpleObject)
Console.WriteLine(vbLf + " After deserialization the object contains: ")
obj.Print()
Console.ReadLine()
Catch se As SerializationException
Console.WriteLine("Failed to serialize. Reason: " + se.Message)
Throw
Catch exc As Exception
Console.WriteLine("An exception occurred. Reason: " + exc.Message)
Throw
Finally
stream.Close()
obj = Nothing
formatter = Nothing
End Try
End Sub
End Class
' This is the object that will be serialized and deserialized.
<Serializable()> _
Public Class TestSimpleObject
' This member is serialized and deserialized with no change.
Public member1 As Integer
' The value of this field is set and reset during and
' after serialization.
Private member2 As String
' This field is not serialized. The OnDeserializedAttribute
' is used to set the member value after serialization.
<NonSerialized()> _
Public member3 As String
' This field is set to null, but populated after deserialization.
Private member4 As String
' Constructor for the class.
Public Sub New()
member1 = 11
member2 = "Hello World!"
member3 = "This is a nonserialized value"
member4 = Nothing
End Sub
Public Sub Print()
Console.WriteLine("member1 = '{0}'", member1)
Console.WriteLine("member2 = '{0}'", member2)
Console.WriteLine("member3 = '{0}'", member3)
Console.WriteLine("member4 = '{0}'", member4)
End Sub
<OnSerializing()> _
Friend Sub OnSerializingMethod(ByVal context As StreamingContext)
member2 = "This value went into the data file during serialization."
End Sub
<OnSerialized()> _
Friend Sub OnSerializedMethod(ByVal context As StreamingContext)
member2 = "This value was reset after serialization."
End Sub
<OnDeserializing()> _
Friend Sub OnDeserializingMethod(ByVal context As StreamingContext)
member3 = "This value was set during deserialization"
End Sub
<OnDeserialized()> _
Friend Sub OnDeserializedMethod(ByVal context As StreamingContext)
member4 = "This value was set after deserialization."
End Sub
End Class
' Output:
' Before serialization the object contains:
' member1 = '11'
' member2 = 'Hello World!'
' member3 = 'This is a nonserialized value'
' member4 = ''
'
' After serialization the object contains:
' member1 = '11'
' member2 = 'This value was reset after serialization.'
' member3 = 'This is a nonserialized value'
' member4 = ''
'
' After deserialization the object contains:
' member1 = '11'
' member2 = 'This value went into the data file during serialization.'
' member3 = 'This value was set during deserialization'
' member4 = 'This value was set after deserialization.'
开发者ID:VB.NET开发者,项目名称:System.Runtime.Serialization,代码行数:125,代码来源:OnSerializingAttribute
示例2: SetValuesOnSerializing
<OnSerializing()> _
Private Sub SetValuesOnSerializing(ByVal context As StreamingContext)
' Code not shown.
End Sub
开发者ID:VB.NET开发者,项目名称:System.Runtime.Serialization,代码行数:4,代码来源:OnSerializingAttribute
注:本文中的System.Runtime.Serialization.OnSerializingAttribute类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论