/
GeekNerd
/
ServerModelingProject
Обзор
Документация
Войти
/
GeekNerd
/
ServerModelingProject
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Assets/Plugins/UniTask/Runtime/Linq/Never.cs
56 строк
1 KB
Gorney-Alex
Init
30 май 2026, 19:05
30 май 2026, 19:05
3cdcc49
Код
Авторство
О чём код?
using System.Threading; namespace Cysharp.Threading.Tasks.Linq { public static partial class UniTaskAsyncEnumerable { public static IUniTaskAsyncEnumerable<T> Never<T>() { return Cysharp.Threading.Tasks.Linq.Never<T>.Instance; } } internal class Never<T> : IUniTaskAsyncEnumerable<T> { public static readonly IUniTaskAsyncEnumerable<T> Instance = new Never<T>(); Never() { } public IUniTaskAsyncEnumerator<T> GetAsyncEnumerator(CancellationToken cancellationToken = default) { return new _Never(cancellationToken); } class _Never : IUniTaskAsyncEnumerator<T> { CancellationToken cancellationToken; public _Never(CancellationToken cancellationToken) { this.cancellationToken = cancellationToken; } public T Current => default; public UniTask<bool> MoveNextAsync() { var tcs = new UniTaskCompletionSource<bool>(); cancellationToken.Register(state => { var task = (UniTaskCompletionSource<bool>)state; task.TrySetCanceled(cancellationToken); }, tcs); return tcs.Task; } public UniTask DisposeAsync() { return default; } } } }