public void AddController(String area, String controllerName, object controller) { if (area == null) { throw new ArgumentNullException("area"); } if (controllerName == null) { throw new ArgumentNullException("controllerName"); } if (controller == null) { throw new ArgumentNullException("controller"); } int cmp = String.Compare(area, _area, true); if (cmp == 0) { _controllers[controllerName] = controller; } else { ControllerTree node = null; if (cmp < 0) { if (_left == null) { _left = new ControllerTree(area); } node = _left; } else { if (_right == null) { _right = new ControllerTree(area); } node = _right; } node.AddController(area, controllerName, controller); } }
public object GetController(String area, String controllerName) { if (area == null) { throw new ArgumentNullException("area"); } if (controllerName == null) { throw new ArgumentNullException("controllerName"); } int cmp = String.Compare(area, _area, true); if (cmp == 0) { return(_controllers[controllerName]); } else { ControllerTree node = null; if (cmp < 0) { node = _left; } else { node = _right; } if (node != null) { return(node.GetController(area, controllerName)); } } return(null); }