Wiki
Clone wikiHaveBox / Assembly scan setups
Home - News - Documentation
Given:
#!CSharpLexer ExampleAssembly.dll: namespace HaveBoxExample { public interface IHelloProvider { string GetHello(); } public interface IWorldProvider { string GetWorld(); } public class HelloProvider : IHelloProvider { public string GetHello() { return "Hello"; } } public class WorldProvider : IWorldProvider { public string GetWorld() { return "World"; } } public interface IHelloWorldProvider { string GetHelloWorld(); } public class HelloWorldProvider : IHelloWorldProvider { public readonly IHelloProvider _helloProvider; public readonly IWorldProvider _worldProvider; public HelloWorldProvider(IHelloProvider helloProvider, IWorldProvider worldProvider) { _helloProvider = helloProvider; _worldProvider = worldProvider; } public string GetHelloWorld() { return _helloProvider.GetHello() + " " + _worldProvider.GetWorld(); } } }
SimpleScanner setup:
#!CSharpLexer using HaveBox; using System; using System.Reflection; namespace HaveBoxExample { class Helloworld { static void Main(string[] args) { var assembly = Assembly.GetAssembly(typeof(HelloWorldProvider)); var container = new Container(); container.Configure(config => config.MergeConfig(new SimpleScanner(assembly))); var helloWorldProvider = container.GetInstance<IHelloWorldProvider>(); Console.Out.WriteLine(helloWorldProvider.GetHelloWorld()); } } }
Updated