相关疑难解决方法(0)

如何处理Linq表达式中的IDisposableobject创建?

Linq允许您在查询表达式中创建新对象.当您具有封装列表生成的类时,这非常有用.我想知道你是如何处理创建需要它的对象的?

例:

class Generator
{
    public IEnumerable<int> Gen(int size)
    {
        return Enumerable.Range(0, size);
    }
}

class bar
{
    public void doit()
    {
        var foo =
            from r in Enumerable.Range(1, 3)
            from g in new Generator().Gen(r)
            select g;
    }
}
Run Code Online (Sandbox Code Playgroud)

这将创建3个Generator对象,这些对象将在某个时刻被垃圾收集.如果Generator是IDisposable,我将如何获得Dispose()调用?

.net c# linq

5
推荐指数
2
解决办法
640
查看次数

标签 统计

.net ×1

c# ×1

linq ×1