This situation is not practical for every situation. Rather,
you may implement it for a small set of features, such as exposing certain
properties reused throughout the application, exposing a user control that
contains a header or other important information.
However, there may be times when you need to implement
something similar to this because of a required duplication, and therefore may
be a requirement. Especially when a user control needs to access certain page
properties that may be constant throughout the application, a custom page class
is useful. This is because a user control cannot convert its Page property to
the rightful type of the code-behind page (especially when a user control is
used in many pages), but it can convert it to the type of the custom page
class.