MonoMobile.Views.MonoMobileAppDelegate.Startup C# (CSharp) Method

Startup() private static method

private static Startup ( ) : void
return void
		private static void Startup()
		{
			var assemblies = AppDomain.CurrentDomain.GetAssemblies();
			foreach(var assembly in assemblies)
			{
				var types = assembly.GetTypes();
				foreach(var type in types)
				{
					var initialize = type.GetCustomAttribute<InitializeAttribute>();
					if (initialize != null)
					{
						var initializeMethod = type.GetMethod("Initialize");
						if (initializeMethod != null)
						{
							initializeMethod.Invoke(type, null);
						}
					}
				}
			}
 
			MonoMobileApplication.Views = new List<object>();
			foreach (var viewType in MonoMobileApplication.ViewTypes)
			{
				var view = Activator.CreateInstance(viewType);
				MonoMobileApplication.Views.Add(view);
			}

			foreach (var view in MonoMobileApplication.Views)
			{				
				var initalizable = view as IInitializable;
				if (initalizable != null)
				{
					initalizable.Initialize();
				}
			}

			foreach(var view in MonoMobileApplication.Views)
			{	
				MonoMobileApplication.DialogViewControllers.Add(new DialogViewController(MonoMobileApplication.Title, view, Theme.CreateTheme(), true) { Autorotate = true } );
			}
	
			MonoMobileApplication.NavigationController.ViewControllers = MonoMobileApplication.DialogViewControllers.ToArray();

			UIView.BeginAnimations("fadeIn");
			UIView.SetAnimationDuration(0.3f);
			MonoMobileApplication.NavigationController.View.Alpha = 1.0f;
			UIView.CommitAnimations();
		}