请教关于类的继承

权限管理设计中 增加了BasePage,然后各个页面public partial class LanEmail_EmailView : BasePage继承BasePage

如何在Basepage中判断是哪个页面继承了它然后向它注册权限相应信息?


慕村225694
浏览 448回答 2
2回答

守着一只汪

你这样设计是不对的,父类是不应该“预计”到子类的存在的如何在Basepage中判断是哪个页面继承了它然后向它注册权限相应信息那么事实上就是子类的注册权限信息是不同的,你想把这些都归并到父类的一个方法里去。正确的做法是父类应该有一个PrepareAccessInfo的虚方法:protected virtual void PrepareAccessInfo()  {      //一些通用的实现 }然后每个子类如果有独特的逻辑,就override这个方法,如果没有独特的逻辑,就可以不做任何事情而使用父类中的通用逻辑。这个方法你可以在适当的地方调用,比如page init的时候。

慕后森

使用this.GetType()方法就是知道当前页面的类型了,可以使用这个类型来作为key区分各个页面的权限
打开App,查看更多内容
随时随地看视频慕课网APP