我无法通过Homecontrollers动作方法调用新的Human对象。
var employee = new Human { id = 1, name = "home index" , isAuth = isAuth,token="null"};
这是我的模特
namespace WebApplication3.Models
{
public class Human
{
public Human(int id, string name, string isAuth, string token)
{
this.id = id;
this.name = name;
this.isAuth = isAuth;
this.token = token;
}
答案 0 :(得分:4)
您正在使用Object Initializer的语法,但是此语法至少需要使用一个空的构造函数,因为花括号内的代码是在构造对象之后执行的。
如果要使用该语法,则需要将emtpy构造函数添加到模型中
public class Human
{
public Human() {}
public Human(int id, string name, string isAuth, string token)
{
this.id = id;
this.name = name;
this.isAuth = isAuth;
this.token = token;
}
现在您有两个选择。使用当前语法,以便编译器调用空的构造函数,然后使用花括号之间的值初始化属性,或仅使用常规语法直接使用四个参数调用构造函数。
var employee = new Human (1,"home index",isAuth,"null");
请注意,对于第一种方法,您需要公开这些属性
public class Human
{
public int id {get;set;}
.....
答案 1 :(得分:1)
尝试
var employee = new Human(1, "home index" isAuth, null);