Exemple #1
0
        public void ResetableLazyTest()
        {
            var random        = new Random();
            var resetableLazy = new ResetableLazy <int>(() => random.Next(int.MaxValue));
            var val1          = resetableLazy.Value;
            var val2          = resetableLazy.Value;

            Assert.AreEqual(val1, val2);
            resetableLazy.Reset();
            var val3 = resetableLazy.Value;

            Assert.AreNotEqual(val1, val3);
            Assert.AreNotEqual(val2, val3);

            int val4 = int.MinValue;
            var task = Task.Factory.StartNew(() => { val4 = resetableLazy.Value; });

            resetableLazy.Reset();
            task.Wait();
            Assert.AreNotEqual(val3, val4);
        }
Exemple #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FolderItem"/> class.
 /// </summary>
 /// <param name="path">
 /// Путь
 /// </param>
 public FolderItem(string path)
 {
     this.path = path;
     this.name = System.IO.Path.GetFileName(this.path);
     this.dateTaken = new ResetableLazy<DateTime?>(() => PhotoDateTakenHelper.GetDateTaken(this.path));
 }