• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

VB.NET OnSerializingAttribute类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
VB.NET SerializationException类代码示例发布时间:2022-05-26
下一篇:
VB.NET DataContractSerializer类代码示例发布时间:2022-05-26
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap