Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }