public void Can_Find_Types_Implementing_Interface() { var tf = new TypeFinder(); tf.AddAssembly(GetType().Assembly); var iFooTypes = tf.TypesImplementing<ITypeFoo>(); iFooTypes.ShouldNotBeNull(); iFooTypes.Count().ShouldEqual(2); }
public void Can_Find_Types_Implementing_Base_Class() { var tf = new TypeFinder(); tf.AddAssembly(GetType().Assembly); var fooType = tf.TypesImplementing<TypeFoo>(); fooType.ShouldNotBeNull(); fooType.Count().ShouldEqual(1); }
public static INancyApplication BootstrapApplication() { var typeFinder = new TypeFinder(); var bootStrapperType = typeFinder .TypesImplementing<NancyBootstrapper>() .ConcreteClasses() .CanCreateInstance() .FirstOrDefault() ?? typeof(DefaultBootstrapper); var bootStrapper = Activator.CreateInstance(bootStrapperType) as NancyBootstrapper; if (bootStrapper != null) return bootStrapper.Bootstrap(); throw new InvalidOperationException("Can't find NancyBootstrapper."); }