摘要:
实现了Dispose模式与实现了IDisposable接口的区别就是:IDisposable的实现的可靠性(释放相关资源)要靠编程人员来解决(你确信你从来都一直调用了Dispose(Close)方法吗?),而实现了Dispose模式后,当编程人员没有主动调用Dispose方法时,会由终结器来调用(有些时候编程人员想主动调用也调用不了,比如远程连上来的TcpChannel,客户端断开时,服务端只能由终者器调用)。
Dispose模式()的实现需要以下4个步骤:
1. 释放所有非托管资源;
2. 释放所有托管资源,包括释放事件监听程序;
3. 设计一个状态标志(IsDisposed),表示该对像已经被销毁。若是在销毁后再次调用对像的公有方法,那么应该抛出ObjectDisposed异常;
4. 跳过终者操作,调用CG.SuppressFinalize(this)即可。 阅读全文
随笔档案-2013年11月
C#按位操作,直接操作INT数据类型的某一位
2013-11-06 11:20 by 咒语, 8508 阅读, 收藏, 编辑
摘要:
1 /// 2 /// 根据Int类型的值,返回用1或0(对应True或Flase)填充的数组 3 /// 从右侧开始向左索引(0~31) 4 /// 5 /// 6 /// 7 public static IEnumerable GetBitList(int value) 8 { 9 var list = new List(32);10 for (var i = 0; i 19 /// 返回Int数据中某一位... 阅读全文
AIR ANE(本机扩展)使用中的一些问题(Android平台)
2013-11-01 16:58 by 咒语, 787 阅读, 收藏, 编辑
摘要:
关于如何写ANE,就不说了,用关键字,Android ANE 开发,会搜索到N多。下面写一下碰到的问题,和一些别人可能没有说清的地方1. 生成的ANE是直接拷到lib里使用吗?A:这个一定不要直接拷进去使用,生成的ANE,必须要在项目属性->Flex Build Path -> Native Extensions 里增加本地扩展,如何这个时ANE是有错误的,那么就要修改ANE了。比如提示XML配置出错,那么查看一下,extension.xml里是不是有中文(我写有中文注释时是出错的,也可能是编码问题)2.ExtensionContext.createExtensionContext 阅读全文