protected IEnumerable <T> GetWithDisposal <T>(params T[] datas) { disposalCount++; if (datas == default) { throw new ArgumentNullException(nameof(datas)); } using (var disposalClass = new Disposable()) { foreach (var data in datas) { yield return(data); } disposalClass.CanBeDisposed(); } }