不包含带有2个参数的构造函数

时间:2012-12-24 02:40:15

标签: c# .net asp.net-mvc compiler-errors

我不确定这里发生了什么。该模型是从数据库自动生成的,我看不到任何明显的东西(请注意,现在是英国时间凌晨2点30分,所以也许我已经半睡半醒了)。我收到错误:ActiveCitizenSystemMimic.Models.ActiveCitizenProperties不包含带2个参数的构造函数。

型号:

namespace ActiveCitizenSystemMimic.Models
{
    using System;
    using System.Collections.Generic;

    public partial class ActiveCitizenProperties
    {
        public int FK_ActiveCitizen { get; set; }
        public int FK_PropertyType { get; set; }
    }
}

控制器:

List<ActiveCitizenProperties> activeCitizenProperties = new List<ActiveCitizenProperties>();
activeCitizenProperties.Add(new ActiveCitizenProperties(1, 2));

2 个答案:

答案 0 :(得分:3)

错误意味着它所说的内容:ActiveCitizenProperties构造函数不接受两个参数。在代码中,根本没有在类中定义构造函数。

您可以使用:

new ActiveCitizenProperties { FK_ActiveCitizen = 1, FK_PropertyType = 2 };

答案 1 :(得分:3)

您可以将代码替换为:

List<ActiveCitizenProperties> activeCitizenProperties = new List<ActiveCitizenProperties>();
activeCitizenProperties.Add(new ActiveCitizenProperties(){ FK_ActiveCitizen = 1, FK_PropertyType = 2 });

您的“自动生成”类显然不包含带有2个参数的构造函数。如果有,那就是这样的:

namespace ActiveCitizenSystemMimic.Models
{
    using System;
    using System.Collections.Generic;

    public partial class ActiveCitizenProperties
    {
        public int FK_ActiveCitizen { get; set; }
        public int FK_PropertyType { get; set; }

        public ActiveCitizenProperties(int a, int b)
        {
            this.FK_ActiveCitizen = a;
            this.FK_PropertyType = b;
        }
    }
}