小编Ste*_*ein的帖子

使用事件序列化类

我有一个这样的类:

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;
}
Run Code Online (Sandbox Code Playgroud)

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

valDouble.Changed += new ChangedEventHandler(sc_PropertyChanged);
Run Code Online (Sandbox Code Playgroud)

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

The Type StepPulseblaster is not marked as serializable
Run Code Online (Sandbox Code Playgroud)

当我评论这条线

valDouble.Changed += ...
Run Code Online (Sandbox Code Playgroud)

不会再有任何错误了.

如何序列化连接了某些事件的类?

c# events serialization class serializable

20
推荐指数
3
解决办法
9514
查看次数

标签 统计

c# ×1

class ×1

events ×1

serializable ×1

serialization ×1