利用另一个模型中的模型方法和属性
本文关键字:模型 方法 属性 另一个 | 更新日期: 2023-09-27 18:22:37
提前感谢您的帮助。
我正在使用继承来利用基本模式中的属性,如HomeModel : BaseModel
。
这正如预期的那样有效,但现在我想更进一步。我想在下一层使用它,这样新模型就继承了HomeModel
的所有内容。
我创建了一个类似的NavModel
public class NavModel : HomeModel {
public string CloudVersion{get;set;}
public IMxUser Usr {get;set;}
public ILocalizer Localizer {get;set;}
public NavModel(IMxUser mxUser, ILocalizer localizer)
{
Localizer = localizer;
Usr = mxUser;
CloudVersion = ConfigurationManager.AppSettings["cloudVersion"];
}
}
但它抛出了错误
'HomeModel' does not contain a constructor that takes 0 arguments.
我这样戴菊花链是个坏主意吗?我做错了什么?有更好的方法吗?
更新
在添加空构造函数之前,这是标准的HomeModel构造函数:
public HomeModel(IMxUser mxUser, ILocalizer localizer)
{
Localizer = localizer;
Usr = mxUser;
BomSearchJavascriptMethod = GetSearchJavascriptMethod(MnxConst.SearchOptions.BILL_OF_MATERIAL, EnterBOMSearchKeyStr);
POSearchJavascriptMethod = GetSearchJavascriptMethod(MnxConst.SearchOptions.PURCHASE_ORDER_NUMBER, EnterBOMSearchKeyStr);
}
如果我能在相关模型中利用标准的HomeModel
,那就太好了,但我不确定如何用我目前的参考方法通过这些。
您还必须使用如下初始化器初始化基类:
public HomeModel(IMxUser mxUser, ILocalizer localizer)
: base(mxUser, localizer)
{
// ...
}