gpt4 book ai didi

vb.net 事件声明 - 添加非序列化属性

转载 作者:行者123 更新时间:2023-12-01 09:37:58 25 4
gpt4 key购买 nike

我正在向现有的 c# 应用程序添加一个 vb.net 程序集。
我所有的 vb.net 类型都继承自:

<Serializable()> _
Public Class BaseObject Implements INotifyPropertyChanged

Public Event PropertyChanged as PropertyChangedEventHandler

'Other helper methods'
End Class

我的问题是事件不能被序列化。在 c# 代码中,事件是这样声明的:

 [field: NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;

但我看不出如何用 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

否则,事情会变得更加困难。你必须自己做所有的工作,而不是把它留给编译器。见 this article了解更多详细信息和分步实现建议。

关于vb.net 事件声明 - 添加非序列化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com