VB.NET序列化带有附加事件的类时遇到的困难
令人惊讶的是,这里还没有人问这个问题,但下面是: VB.NET中的序列化有点麻烦。如果使用标准的Serializable()属性,并尝试序列化具有附加到处理程序的事件的类,则它也将尝试序列化处理程序 来自C#背景的我不习惯处理这个问题,我能找到的最好的解决方案是使用一个代码项目类 但是,我不想因为这个想法而改变对象继承结构 对VB.NET中创建的类进行序列化的标准方法是什么 我听说过删除所有处理程序,序列化,然后重新添加所有处理程序,但这是否会导致事件触发而无法处理?在C#中,解决方案是使用属性上的VB.NET序列化带有附加事件的类时遇到的困难,vb.net,events,serialization,Vb.net,Events,Serialization,令人惊讶的是,这里还没有人问这个问题,但下面是: VB.NET中的序列化有点麻烦。如果使用标准的Serializable()属性,并尝试序列化具有附加到处理程序的事件的类,则它也将尝试序列化处理程序 来自C#背景的我不习惯处理这个问题,我能找到的最好的解决方案是使用一个代码项目类 但是,我不想因为这个想法而改变对象继承结构 对VB.NET中创建的类进行序列化的标准方法是什么 我听说过删除所有处理程序,序列化,然后重新添加所有处理程序,但这是否会导致事件触发而无法处理?在C#中,解决方案是使用属性
字段:
前缀,将NonSerializedAttribute应用于事件的backing字段。不幸的是,VB不支持字段:
技巧,因此需要使事件的支持字段显式,并对其应用NonSerializedAttribute
不幸的是,它看起来确实非常冗长乏味,因为现在您必须为每个事件详细说明add、remove和raise方法