using System.Collections.Generic;
private class Recurso : IDisposable
public Recurso(string nombre)
Console.WriteLine(nombre + " inicio");
Console.WriteLine(nombre + " fin");
private static string Gen(string x)
Console.WriteLine("Gen " + x);
public static IEnumerable<string> Uno()
using (new Recurso("Unox"))
Console.WriteLine("Unox finally");
public static IEnumerable<string> Dos()
using (new Recurso("Dos"))
public static void Escribir(IEnumerable<string> lista)
Console.WriteLine("Escribir " + x);
public static void Main()
var lista = Uno().Concat(Dos()).Take(1);