1
0
Fork 0
LaboratoryProtection/Assets/Plugins/MessagePipe/Runtime/Disposables.cs

277 lines
9.9 KiB
C#
Raw Normal View History

2023-09-12 15:55:51 +08:00
// <auto-generated>
// THIS (.cs) FILE IS GENERATED BY Disposables.tt. DO NOT CHANGE IT.
// </auto-generated>
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());
}
}
}
}