summaryrefslogtreecommitdiff
path: root/Impostor-dev/src/Impostor.Server/Events/MultiDisposable.cs
blob: b68f06401b33245677534002b7b2a18d11131ee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;

namespace Impostor.Server.Events
{
    /// <summary>
    ///     Disposes multiple <see cref="IDisposable"/>.
    /// </summary>
    internal class MultiDisposable : IDisposable
    {
        private readonly IEnumerable<IDisposable> _disposables;

        public MultiDisposable(IEnumerable<IDisposable> disposables)
        {
            _disposables = disposables;
        }

        public void Dispose()
        {
            foreach (var disposable in _disposables)
            {
                disposable?.Dispose();
            }
        }
    }
}