我正在向现有的c#应用程序添加一个vb.net程序集.
我的所有vb.net类型都继承自:
<Serializable()> _
Public Class BaseObject Implements INotifyPropertyChanged
Public Event PropertyChanged as PropertyChangedEventHandler
'Other helper methods'
End Class
Run Code Online (Sandbox Code Playgroud)
我的问题是该事件无法序列化.在c#代码中,事件声明如下:
[field: NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;
Run Code Online (Sandbox Code Playgroud)
但我无法用vb.net看到如何以任何方式做到这一点.是否有扩展的事件声明,我可以使用它来使事件不序列化?或其他归属?
如果您使用的是Visual Basic 10(与Visual Studio 2010一起提供),则可以NonSerializedAttribute像在C#中一样添加到事件中.例如:
<Serializable()> _
Public Class BaseObject Implements INotifyPropertyChanged
<NonSerialized()> _
Public Event PropertyChanged as PropertyChangedEventHandler
'Other helper methods'
End Class
Run Code Online (Sandbox Code Playgroud)
否则,事情变得更加困难.你必须自己完成所有的工作,而不是把它留给编译器.有关更多详细信息和逐步实施建议,请参阅此文章.
| 归档时间: |
|
| 查看次数: |
2684 次 |
| 最近记录: |