问题是,如
标题所示,MVC模型绑定器是否允许视图模型对象的私有构造
函数.显然它没有,说MissingMethodException:没有为这个对象定义无参数构造
函数.即使有一个私有的无参数构造
函数.
如果不允许私有构造
函数,是否有一个arhitectural
解决方法?
这样的构造函数可能有助于确保只有模型绑定器可以创建其字段可能无法一致填充的viewmodel对象 – 在代码的其他部分中不可能忘记完成某些字段.
在类似情况下,实体框架可以使用私有构造函数和私有属性.
不,不是的.
如果要阻止实际代码调用该构造函数,可以将[Obsolete(“仅限模型绑定”,true)]添加到公共构造函数中.如果显式调用构造函数,这将导致编译器错误.
原文链接:https://www.f2er.com/aspnet/247030.html