// Create a controller with the requested factory public Controller <T> CreateController <T>(string identifier, T model) where T : Model <T>, new() { object obj; if (controllerFactories.TryGetValue(identifier, out obj)) { CreateControllerDelegate <T> createController = obj as CreateControllerDelegate <T>; if (createController == null) { return(null); } return(createController(model)); } return(null); }
private ControllerInfo( CreateControllerDelegate <Controller?> createControllerDelegate) => CreateController = createControllerDelegate;
// Register Controller factory public void RegisterControllerFactory <T>(string identifier, CreateControllerDelegate <T> factory) where T : Model <T>, new() { controllerFactories[identifier] = factory; }
/// <summary> /// Setup constructor /// </summary> /// <param name="create">Delegate used to create the controller</param> public DelegateControllerFactory( CreateControllerDelegate create ) { Arguments.CheckNotNull( create, "create" ); m_Create = create; }