public static IPlatformViewActivator RegisterAssemblyViews(this IPlatformViewActivator activator, System.Reflection.Assembly assembly) { foreach (var viewTypeDefinition in assembly.ExportedTypes .Select(type => Tuple.Create(type, type.GetTypeInfo().GetCustomAttributes(typeof(ViewForAttribute), true))) .SelectMany(tuple => tuple.Item2.Select(attr => Tuple.Create(tuple.Item1, attr as ViewForAttribute)))) { activator.RegisterView(viewTypeDefinition.Item1, viewTypeDefinition.Item2.Type); } return(activator); }
public static IPlatformViewActivator RegisterAllViewsInAssemblyOf <TTypeForAssembly> (this IPlatformViewActivator activator) { return(RegisterAssemblyViews(activator, typeof(TTypeForAssembly).GetTypeInfo().Assembly)); }
public static IPlatformViewActivator RegisterView <TView, TViewModel>(this IPlatformViewActivator activator) { activator.RegisterView <TView, TViewModel> (); return(activator); }
public static IPlatformViewActivator RegisterViewFactory <TViewModel, TView>(this IPlatformViewActivator activator, Func <Container, TView> viewFactory) { activator.RegisterViewFactory(typeof(TViewModel), c => viewFactory(c), typeof(TView)); return(activator); }
public static NostromoSettings UsePlatformViewActivator(this NostromoSettings settings, IPlatformViewActivator activator) { settings.ViewActivator = activator; return(settings); }