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