public Lazy(LazyExecutionMode mode) { this.mode = mode; if (mode != LazyExecutionMode.NotThreadSafe) { monitor = new Object(); } }
public Lazy(Func <T> valueFactory, LazyExecutionMode mode) { this.valueFactory = valueFactory ?? throw new ArgumentNullException(nameof(valueFactory)); this.mode = mode; if (mode != LazyExecutionMode.NotThreadSafe) { monitor = new Object(); } }
public Lazy(Func <T> valueFactory, LazyExecutionMode mode) { if (valueFactory == null) { throw new ArgumentNullException("valueFactory"); } this.factory = valueFactory; this.mode = mode; if (mode != LazyExecutionMode.NotThreadSafe) { monitor = new Object(); } }