gpt4 book ai didi

c# - 使用事件序列化类

转载 作者:IT王子 更新时间:2023-10-29 04:37:10 28 4
gpt4 key购买 nike

我有这样一个类:

public delegate void ChangedEventHandler(object sender, EventArgs e);
[Serializable]
public class valueDouble
{
public event ChangedEventHandler Changed;
public double value
{
get { return _value; }
set
{
_value = value;
if (Changed != null)
{
Changed(this, EventArgs.Empty);
}
}
}
private double _value = 0;
}

我还有另一个不可序列化的类 (StepPulseblaster),它添加了一个事件处理程序

valDouble.Changed += new ChangedEventHandler(sc_PropertyChanged);

当我尝试序列化 valueDouble 类时,会出现错误:

The Type StepPulseblaster is not marked as serializable

当我评论这行的时候

valDouble.Changed += ...

不会再有错误了。

我如何序列化一个连接了一些事件的类?

最佳答案

你应该这样做:

[field: NonSerialized]
public event ChangedEventHandler Changed;

MSDN 中所述:

To apply the NonSerializedAttribute class to an event, set the attribute location to field.

关于c# - 使用事件序列化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816949/

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