public static int getSide( this Rectangle rect, Edge edge )
{
switch( edge )
{
case Edge.Top:
return rect.Top;
case Edge.Bottom:
return rect.Bottom;
case Edge.Left:
return rect.Left;
case Edge.Right:
return rect.Right;
default:
throw new ArgumentOutOfRangeException();
}
}