我有一个类,其实例需要处置。我也有几个类生成这些实例,可以单独列出或列出它们。我应该有返回Disposable实例列表的方法吗?
我应该从我的方法中返回IList<MyClass>
,还是应该创建一个MyClassCollection
类,它也是一次性的,并返回它?
编辑:
我询问原因主要是,我已经结束了这样颇多:
IList<MyObject> list = GetList();
foreach(MyObject obj in list)
{
//do something
obj.Dispose();
}
,似乎我会做得更好:
using (IList<MyObject> list = GetList())
{
foreach(MyObject obj in list)
{
//do something
}
}
您的第一个示例在不再需要对象时立即释放对象,但第二个示例使对象保持活动状态,直到整个迭代完成。这是处理对象的两种不同方式,您应该根据哪种方法更合适地选择要使用的方法。 – 2010-01-29 10:00:36