void LoadAndSetupDrone(string path) { try { var providerLoaderAgent = new ProviderLoaderAgent <IDrone>(path); var droneProvider = providerLoaderAgent.GetInputProvider(); var droneClient = App.Container.GetInstance <DroneClient>(); var drone = (IDrone)Activator.CreateInstance(droneProvider, droneClient); App.Container.Configure(x => x.For <IDrone>().Use(t => drone)); lblDrone.Content = droneProvider.FullName; } catch (AssemblyNotSupportedException assemblyNotSupportedException) { MessageBox.Show(string.Format("The assembly on path \"{0}\" could not be loaded.", assemblyNotSupportedException.Path)); } catch (ProviderNotFoundException providerNotFoundException) { MessageBox.Show(string.Format("The assembly \"{0}\" on path \"{1}\" does not contain a valid drone.", providerNotFoundException.Assembly.FullName, providerNotFoundException.Path)); } catch (Exception ex) { MessageBox.Show("Other blaaa blaaa blaaa:" + ex); } }
private void LoadAndSetupProvider(string path) { try { var providerLoaderAgent = new ProviderLoaderAgent <IInputProvider>(path); var inputProviderType = providerLoaderAgent.GetInputProvider(); var inputProvider = (IInputProvider)Activator.CreateInstance(inputProviderType); App.Container.Configure(x => x.For <IInputProvider>() .Use(t => inputProvider)); inputProviderAdapter = App.Container.GetInstance <IInputProviderAdapter>(); inputProviderAdapter.SubscribeInputProvider(inputProvider); inputProviderAdapter.OnCommandProcessed += inputProviderAdapter_OnCommandProcessed; lblProvider.Content = inputProviderType.FullName; } catch (AssemblyNotSupportedException assemblyNotSupportedException) { MessageBox.Show(string.Format("The assembly on path \"{0}\" could not be loaded.", assemblyNotSupportedException.Path)); } catch (ProviderNotFoundException providerNotFoundException) { MessageBox.Show(string.Format("The assembly \"{0}\" on path \"{1}\" does not contain a valid input provider.", providerNotFoundException.Assembly.FullName, providerNotFoundException.Path)); } catch (Exception ex) { MessageBox.Show("Other blaaa:" + ex); } }