WatchThis.Controllers.SlideshowDriver.BeginEnumerate C# (CSharp) Метод

BeginEnumerate() приватный Метод

private BeginEnumerate ( ) : void
Результат void
		private void BeginEnumerate()
		{
			State = DriverState.Enumerating;
			Task.Factory.StartNew( () => 
				{
					Model.Enumerate( () => 
						{
							logger.Info("Images available: {0}", Model.MediaList.Count);
							PlatformService.InvokeOnUiThread( delegate { Viewer.UpdateUiState(); } );
							Play();
						});
				})
			.ContinueWith( t =>
				{
					if (!t.IsFaulted && !t.IsCanceled)
					{
						if (State == DriverState.Playing || State == DriverState.Paused)
						{
							logger.Info("Images fully loaded: {0}", Model.MediaList.Count);
							PlatformService.InvokeOnUiThread( delegate 
								{
									Viewer.UpdateUiState(); 
								} );
							Play();
						}
						else
						{
							logger.Info("Not playing, ignoring completed enumeration");
						}
					}
					else
					{
						logger.Error("Failed or canceled: {0}", t.Exception);
						PlatformService.InvokeOnUiThread( delegate { Viewer.Error(t.Exception.Message); });
					}

					return t;
				});
		}
	}

Usage Example

Пример #1
0
		static public SlideshowDriver Create(SlideshowModel model, ISlideshowViewer viewer, IPlatformService platformService)
		{
			var driver = new SlideshowDriver(model, viewer, platformService);
			driver.BeginEnumerate();
			return driver;
		}