利用另一个模型中的模型方法和属性

本文关键字:模型 方法 属性 另一个 | 更新日期: 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)
{
    // ...
}