gpt4 book ai didi

.net - .NET 中抛出的奇怪异常

转载 作者:行者123 更新时间:2023-12-05 00:44:18 25 4
gpt4 key购买 nike

抛出异常:“System.ComponentModel.ReflectPropertyDescriptor 未标记为可序列化”

这是否意味着我错过了自己将某些东西标记为可序列化,或者这是我无法控制的东西?

最佳答案

您能否提供更多关于何时发生这种情况以及使用哪个序列化程序的上下文?大多数序列化程序都可以忽略某些成员 - NonSerializedAttribute对于 BinaryFormatter , XmlIgnoreAttribute对于 XmlSerializer , ETC。

拥有 PropertyDescriptor您类(class)中的实例通常意味着您的类(class)正在充当属性(property)包;在这种情况下,您可能需要进行自定义序列化( ISerializable/IXmlSerializable )。如果该字段由于其他原因而存在,只需将其标记为忽略即可。

当您有一个事件(例如更改通知事件/INotifyPropertyChanged )与 UI Hook (数据绑定(bind))时,这种(或类似的症状)也很常见;在这种情况下,您需要将支持字段标记为非序列化。我不了解 VB,但是使用 C#,您可以使用“类似字段的事件”来执行此操作,如下所示:

[field: NonSerialized]
public event EventHandler BarChanged;

关于.net - .NET 中抛出的奇怪异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/182711/

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