摘要: 在C#中,使用 Delegated = Object.Method; 的方式创建一个委托,在实现上,这个委托对象内部持有了源对象的一个强引用(System.Object),如果使用者恰好有特殊需求,比如“要求源对象一旦在其他任何地方都不再使用,应该被及时回收。”,那么,一旦委托对象的生命期足够长,由于委托内部的强引用存在,源对象的销毁将被延迟,与使用者预期不符,可能会导致Bug等问题。 比如,这里有一个简单的测试对象:1 class ClassForDeclTest2 {3 public string GetString() { return "call GetString" 阅读全文
posted @ 2011-05-27 14:40 Scan. 阅读(3298) 评论(8) 推荐(9) 编辑