Exemplo n.º 1
0
 public SettableLazy(T value, Func <T> factory, SettableLazyThreadSafetyMode mode)
 {
     if (null == factory)
     {
         throw new ArgumentNullException("factory");
     }
     if (!Enum.IsDefined(typeof(SettableLazyThreadSafetyMode), mode))
     {
         throw new ArgumentOutOfRangeException("mode");
     }
     _lock      = (_mode = mode) == SettableLazyThreadSafetyMode.None ? null : new object();
     _value     = value;
     _factory   = factory;
     _isCreated = true;
 }
Exemplo n.º 2
0
 public SettableLazy(T value, SettableLazyThreadSafetyMode mode)
     : this(value, () => Activator.CreateInstance <T>(), mode)
 {
 }
Exemplo n.º 3
0
 public SettableLazy(Func <T> factory, SettableLazyThreadSafetyMode mode)
     : this(default(T), factory, mode)
 {
     _isCreated = false;
 }