using Autofac; namespace AutoFacTester { class Program { static void Main(string[] args) { Run(Wire()); } static IContainer Wire() { var builder = new ContainerBuilder(); //builder.RegisterAssemblyTypes(typeof(ConsoleOutput).Assembly) // .Where(t => typeof(IStartable).IsAssignableFrom(t)) // .As<IStartable>() // .SingleInstance(); //builder.Register(c => new ConsoleOutput()).As<IOutput>().SingleInstance(); builder.RegisterType<ConsoleOutput>().As<IOutput>().SingleInstance(); builder.RegisterType<TodayWriter>().As<IDateWriter>(); return builder.Build(); } static void Run(IContainer container) { using (var scope = container.BeginLifetimeScope()) { var writer = scope.Resolve<IDateWriter>(); writer.WriteDate(); } } } }
324900cookie-checkC# Autofac example