// // THIS (.cs) FILE IS GENERATED BY Disposables.tt. DO NOT CHANGE IT. // using System; namespace MessagePipe { public static partial class DisposableBag { public static IDisposable Create(IDisposable disposable1) { return new Disposable1(disposable1); } sealed class Disposable1 : IDisposable { bool disposed; readonly IDisposable disposable1; public Disposable1(IDisposable disposable1) { this.disposable1 = disposable1; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2) { return new Disposable2(disposable1, disposable2); } sealed class Disposable2 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; public Disposable2(IDisposable disposable1, IDisposable disposable2) { this.disposable1 = disposable1; this.disposable2 = disposable2; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3) { return new Disposable3(disposable1, disposable2, disposable3); } sealed class Disposable3 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; readonly IDisposable disposable3; public Disposable3(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3) { this.disposable1 = disposable1; this.disposable2 = disposable2; this.disposable3 = disposable3; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); disposable3.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4) { return new Disposable4(disposable1, disposable2, disposable3, disposable4); } sealed class Disposable4 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; readonly IDisposable disposable3; readonly IDisposable disposable4; public Disposable4(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4) { this.disposable1 = disposable1; this.disposable2 = disposable2; this.disposable3 = disposable3; this.disposable4 = disposable4; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); disposable3.Dispose(); disposable4.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5) { return new Disposable5(disposable1, disposable2, disposable3, disposable4, disposable5); } sealed class Disposable5 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; readonly IDisposable disposable3; readonly IDisposable disposable4; readonly IDisposable disposable5; public Disposable5(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5) { this.disposable1 = disposable1; this.disposable2 = disposable2; this.disposable3 = disposable3; this.disposable4 = disposable4; this.disposable5 = disposable5; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); disposable3.Dispose(); disposable4.Dispose(); disposable5.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5, IDisposable disposable6) { return new Disposable6(disposable1, disposable2, disposable3, disposable4, disposable5, disposable6); } sealed class Disposable6 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; readonly IDisposable disposable3; readonly IDisposable disposable4; readonly IDisposable disposable5; readonly IDisposable disposable6; public Disposable6(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5, IDisposable disposable6) { this.disposable1 = disposable1; this.disposable2 = disposable2; this.disposable3 = disposable3; this.disposable4 = disposable4; this.disposable5 = disposable5; this.disposable6 = disposable6; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); disposable3.Dispose(); disposable4.Dispose(); disposable5.Dispose(); disposable6.Dispose(); } } } public static IDisposable Create(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5, IDisposable disposable6, IDisposable disposable7) { return new Disposable7(disposable1, disposable2, disposable3, disposable4, disposable5, disposable6, disposable7); } sealed class Disposable7 : IDisposable { bool disposed; readonly IDisposable disposable1; readonly IDisposable disposable2; readonly IDisposable disposable3; readonly IDisposable disposable4; readonly IDisposable disposable5; readonly IDisposable disposable6; readonly IDisposable disposable7; public Disposable7(IDisposable disposable1, IDisposable disposable2, IDisposable disposable3, IDisposable disposable4, IDisposable disposable5, IDisposable disposable6, IDisposable disposable7) { this.disposable1 = disposable1; this.disposable2 = disposable2; this.disposable3 = disposable3; this.disposable4 = disposable4; this.disposable5 = disposable5; this.disposable6 = disposable6; this.disposable7 = disposable7; } public void Dispose() { if (!disposed) { disposed = true; disposable1.Dispose(); disposable2.Dispose(); disposable3.Dispose(); disposable4.Dispose(); disposable5.Dispose(); disposable6.Dispose(); disposable7.Dispose(); } } } } public partial class DisposableBagBuilder { public IDisposable Build() { switch (disposables.Count) { case 0: return DisposableBag.Empty; case 1: return DisposableBag.Create(disposables[0]); case 2: return DisposableBag.Create(disposables[0], disposables[1]); case 3: return DisposableBag.Create(disposables[0], disposables[1], disposables[2]); case 4: return DisposableBag.Create(disposables[0], disposables[1], disposables[2], disposables[3]); case 5: return DisposableBag.Create(disposables[0], disposables[1], disposables[2], disposables[3], disposables[4]); case 6: return DisposableBag.Create(disposables[0], disposables[1], disposables[2], disposables[3], disposables[4], disposables[5]); case 7: return DisposableBag.Create(disposables[0], disposables[1], disposables[2], disposables[3], disposables[4], disposables[5], disposables[6]); default: return DisposableBag.Create(disposables.ToArray()); } } } }