Допустим, у меня есть System.Web.IHttpHandler
, чей базовый класс ASP.login_aspx
, чей базовый класс MyCMS.Admin.Login
, чей базовый класс ... и т. Д. ... вплоть до System.Web.UI.Page
и, конечно, object
.
Почему я должен разыграть свой IHttpHandler как MyCMS.Admin.Login
, прежде чем я смогу получить доступ к членам этого типа и ниже?
Пример:
IHttpHandler result = base.GetHandler(context, requestType, virtualPath, path);
bool isVisible = result.Visible;//Does not work
bool isVisible = ((MyCMS.Admin.Login)(result)).Visible;//Works
//Noting that Visible is a member of System.Web.UI.Page
ДляЯ не ожидаю такого результата. Visible должен работать, я просто хочу знать, почему это не так.