public static void Main(string[] args) { var serviceProvider = new ServiceCollection() .AddSingleton <IPlayerFactory, PlayerFactory>() .AddSingleton <IPlayerBuilder, PlayerBuilder>() .AddSingleton <IGameManager, GameManager>() .AddSingleton <KillingLaserFactory, KillingLaserFactory>() .AddSingleton <CatchingLaserFactory, CatchingLaserFactory>() .AddSingleton <LaserManager, LaserManager>() .AddSingleton <IGameController, GameController>() .AddSingleton <ILobbyManager, LobbyManager>() .AddSingleton <ILobbyController, LobbyController>() .AddSingleton <IRequestFacade, RequestFacade>() .AddSingleton <FriendlySpawnFactory, FriendlySpawnFactory>() .AddSingleton <EnemySpawnFactory, EnemySpawnFactory>() .AddSingleton <SpawnManager, SpawnManager>() .AddSingleton <ISender, Sender.SenderAdapter>() .AddSingleton <IUdpReceiver, UdpReceiver>() .AddSingleton <IUdpSender, UdpSender>() .BuildServiceProvider(); IUdpReceiver udpReceiver = serviceProvider.GetService <IUdpReceiver>(); udpReceiver.Run("127.0.0.1", 23456); IUdpSender udpSender = serviceProvider.GetService <IUdpSender>(); udpSender.Run("127.0.0.1", 23456); Console.ReadKey(); }