私は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
、私はresult.Visible が仕事、私はちょうどそれがない理由を知りたい必要があることを期待していませんよ。
投稿の署名に関するよくある質問をご覧ください。 –
あなたは継承ツリーを後方に持っていると思います。 'base'クラスは親クラスです(クラス定義の': 'の後ろにあるものを意味します)。 –