Castle.MonoRail.Framework.Services.DefaultControllerTree.GetController C# (CSharp) Method

GetController() public method

Returns a controller previously registered.
public GetController ( String areaName, String controllerName ) : Type
areaName String The area name, or String.Empty
controllerName String The controller name
return System.Type
		public Type GetController(String areaName, String controllerName)
		{
			if (areaName == null) throw new ArgumentNullException("areaName");
			if (controllerName == null) throw new ArgumentNullException("controllerName");

			int cmp = String.Compare(areaName, area, true);
			
			if (cmp == 0)
			{
				return (Type) controllers[controllerName];
			}
			else
			{
				DefaultControllerTree node;

				if (cmp < 0)
				{
					node = left;
				}
				else
				{
					node = right;
				}

				if (node != null)
				{
					return node.GetController(areaName, controllerName);
				}
			}

			return null;
		}
	}

Usage Example

		public void EmptyArea()
		{
			DefaultControllerTree tree = new DefaultControllerTree();
			tree.AddController("", "home", typeof(HomeController));
			tree.AddController("", "contact", typeof(ContactController));
			tree.AddController("", "cart", typeof(CartController));

			Assert.AreEqual( typeof(HomeController), tree.GetController("", "home") );
			Assert.AreEqual( typeof(ContactController), tree.GetController("", "contact") );
			Assert.AreEqual( typeof(CartController), tree.GetController("", "cart") );
		}
All Usage Examples Of Castle.MonoRail.Framework.Services.DefaultControllerTree::GetController