Ejemplo n.º 1
0
        public async Task Invalidate()
        {
            await _syncLock.WaitAsync().ConfigureAwait(false);

            _value = default;
            _syncLock.Release();
        }
Ejemplo n.º 2
0
        public T Value()
        {
            if (IsValueCreatedInternal)
            {
                return(_value.Result);
            }

            _value = _valueProvider(_value);
            return(_value.Result);
        }
Ejemplo n.º 3
0
        public async Task <T> Value()
        {
            await _syncLock.WaitAsync().ConfigureAwait(false);

            try
            {
                if (IsValueCreatedInternal)
                {
                    return(_value.Result);
                }

                _value = await _valueProvider(_value).ConfigureAwait(false);

                return(_value.Result);
            }
            finally
            {
                _syncLock.Release();
            }
        }
Ejemplo n.º 4
0
 public void Invalidate()
 {
     _value = default;
 }