在看蒋金楠老师的博文
学习MVP这个模式的时候有几句代码看得不是很明白
protected virtual object CreatePresenter() { //这里不太清楚,不明白LicenseManager这个类有什么用的 if (LicenseManager.CurrentContext.UsageModel == LicenseUsageModel.Designtime) { return null; } else {
//这里是在子类没有重写的时候就抛出异常 throw new NotImplementedException(string.Format("{0} must override the CreatePresenter method.", this.GetType().FullName)); } }
这段代码的本意应该是要子类去重写这个方法,以生成各自需要的Presenter,如果没有重写就抛出异常。
还有为何不直接在父类抛出异常,反正到时 parent p = new child() 的时候调用的也是子类的方法,子类没有重写也是会报错的嘛。
许可证管理.当前上下文.用法模型 == 许可证用法模型.设计时?
LicenseManager.CurrentContext.UsageModel == LicenseUsageModel.Designtime
只是开发设计时方便,你可以不要它 直接 抛出异常也行的
那这段代码的用处是什么呢,关于LicenseManager这个类的信息很少而且不好理解
LicenseManager.CurrentContext.UsageModel == LicenseUsageModel.Designtime
@灰机_不会飞: 如果不加这个 在设计视图时,就会有异常,就看不到视图界面了
@Yu: 试了一下果然如此,谢谢你的耐心解答!