相信很多人在写项目的时候会构建一个继承于System.Web.UI.Page的类,将很多的公用部分代码放入其中,如权限检测、出错处理(方便嘛)等,但是在构建这样一个类的时候有一个问题是需要特别注意
,就是类的属性定义,我们来看下面这个属性
乍一看好像没什么问题,连出错处理都做好了,而且编译也可以成功通过。但其忽略了一点,这个基础页面类是一个界面类,什么问题?界面类被继承后其属性会被子类初始化,当我们的子类继承了这个类后它自己的web编辑界面就再也打不开了(郁闷吧~),所以这里如果要用到类似的功能可以这样修改
所有子类通过GetEffectChecker()方法来进行调用,因为方法不影响界面初始化,所以子类的web界面依然可以正常编辑。
有一点需要强调一下,第一种做法不会影响程序的运行。