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); }
/// <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)); }