1
0
mirror of synced 2024-11-14 17:33:49 +00:00
PettingZoo/App.xaml.cs
2016-06-18 20:30:12 +02:00

45 lines
1.3 KiB
C#

using System.Linq;
using System.Reflection;
using System.Windows;
using PettingZoo.Model;
using PettingZoo.View;
using SimpleInjector;
namespace PettingZoo
{
public partial class App : Application
{
public void ApplicationStartup(object sender, StartupEventArgs e)
{
var container = Bootstrap();
RunApplication(container);
}
private static Container Bootstrap()
{
var container = new Container();
container.Register<IConnectionFactory, RabbitMQClientConnectionFactory>();
container.Register<IConnectionInfoBuilder, WindowConnectionInfoBuilder>();
// Automatically register all Window and BaseViewModel descendants
foreach (var type in Assembly.GetExecutingAssembly().GetExportedTypes()
.Where(t => t.IsSubclassOf(typeof(System.Windows.Window)) ||
t.IsSubclassOf(typeof(Infrastructure.BaseViewModel))))
{
container.Register(type);
}
return container;
}
private static void RunApplication(Container container)
{
var mainWindow = container.GetInstance<MainWindow>();
mainWindow.Show();
}
}
}