不知道是不是的坑,事件与序列化的冲突

创建一个可序列化的对象,其中包含事件时

    [Serializable]
    public class NavCreat
    {
        ///// <summary>
        ///// 当有值修改asm后, 触发该事件
        ///// </summary>
        public event Action<List<Propertydata>> AsmChanged;

        List<Propertydata> asm;
        ....

     }

在保存时,总是报错,指示类Fshow无法序列化,而类Fshow恰好实现了对事件AsmChanged的实现.

而事件是不需要保存的,于是

[Serializable]
public event Action<List<Propertydata>> AsmChanged;

但是系统报错:

错误 1 特性“NonSerialized”在该声明类型中无效。它只在“field”声明中有效。

请问该如何解决这个问题呢?

时间: 2024-08-19 14:05:53

不知道是不是的坑,事件与序列化的冲突的相关文章

那些年一起踩过的坑 — Date类型序列化的问题

坑在哪里? 序列化 和 反序列化 的时候对Date字段的格式设置不一致 例如:将Java bean序列化成Json string的时候 格式为 yyyy-MM-dd 解析的时候格式为 yyyy-MM-dd hh:mm:ss, 则会抛解析异常 说白了就是把一个字符串转换成Date类型,但格式不匹配,当然是会转换失败的 为什么会被坑? 系统间交互,对Date类型数据进行格式化,便于... 交互双方对时间格式定义不一致,没有事先约定好... 怎么能不被坑? 要么双方约定时间格式 要么不要格式化数据,直

记一次zend引擎的采坑事件

开放平台有一个通知的需求,需要一个消费进程不断的去读取buffer中的数据,然后消费并删除.于是,我用cron每分钟起一个php进程去读取数据库,并做通知的工作.同时,增加了一个文件锁,保证同一时间只能有一个进程在干活. 某一天,突然发现buffer中的数据有增无减,进程的工作日志也已经没有输出了.ps看了一下进程,还是处于运行态,ltrace和strace都是空,看上去像是进入了某个while(true)的逻辑,看了一下CPU,果真,已经飙到98%了.gdb到这个进程,发现进程纠结在php_s

《大话设计模式》——读后感 (6)老板回来了,我不知道?——观察者模式之事件委托(2)

什么都不说,直接上代码,自己去理解,要结合动态代理看 Event: package com.sjmx.observer.application; import java.lang.reflect.Method; public class Event { private Object object; private String methodName; private Object[] params; private Class[] paramTypes; public Event(Object

easy-ui采坑事件

新用户首次登陆修改密码 imput标签中使用easyui自带的class="easyui-passwordbox"可以是密码隐藏变成黑点但是无法禁用输入法,然后果断的加了一个type=password提交了上去,没一会儿回测的时候告诉我input中竟然有示据就像是密码回显上来了一样,打开控制台看了半天发现是prompt被class="easyui-passwordbox"隐藏变成了黑点,然后我把prompt改成了placeholder,竟然无效,然后我上百度查了一下

android 子控件的onTouch事件与外部ScrollView冲突

OnTouchListener TouchLis = new OnTouchListener() { @SuppressLint("NewApi") @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if(event.getAction() == MotionEvent.ACTION_UP){ scrollview.requestDisallo

手机浏览页面touch操作,解决touch事件和浏览器滚动条冲突问题;zepto,swipe事件。

加载三个js插件 <script src="./js/jquery/jquery.js"></script> <script src="./js/jquery/swiper.min.js"></script> <script src="./js/jquery/zepto.min.js"></script> 简单代码:操作一块元素的上下位移. $("#js_showd

从ViewPager嵌套RecyclerView再嵌套RecyclerView看安卓事件分发机制

这两天伟大的PM下了一个需求,在一个竖滑列表里实现一个横向滑动的列表,没错,又是这种常见但是又经常被具有着强烈责任心和职业操守程序员所嗤之以鼻的效果,废话不多说,先上图: 实现的方式很多,因为项目中已经ViewPager+RV实现基本框架,所以现我也选择再添加一个RV实现相应的效果. 不过在写代码之前,先预估一下这个效果所有的坑. VP是横向滑动的,RV是竖向滑动的,那么现在再添加一个横向滑动的RV,肯定会有滑动冲突,主要表现在 VP和横向滑动RV 的冲突,因为两者都是横向滑动的,肯定有冲突,无

python中json.dumps使用的坑以及字符编码

我们知道,python中的字符串分普通字符串和unicode字符串,一般从数据库中读取的字符串会自动被转换为unicode字符串 下面回到重点,使用json.dumps时,一般的用法为: >>> obj={"name":"测试"} >>> json.dumps(obj)'{"name": "\\u6d4b\\u8bd5"}' >>> print json.dumps(obj

如果坑请深坑之ionic微信开发

第一个是网上很多网友提出的问题:就是安卓机上微信里面无法播放视频的问题,而ios里面却不存在: 这个就要责怪一下傻逼微信了,微信里面调用的浏览器内核是QQ浏览器X5内核,我们在点击自己的视频的时候实际上没有真正点击到视频,所以你必须给视频的controls添加一个监听事件,所以我给视频添加了一个封面,监听点击封面事件 image.addEventListener("click",function(){     var video=document.getElementById(&quo