ASPX Page后面的代码可以看到AppCode中的类,但不能看到它们的属性

时间:2016-03-07 03:10:27

标签: c# asp.net

我的代码可以看到我的AppCode文件中的所有类,但没有看到这些类的属性/变量/属性。

我已将所有类设置为Compile。所有变量和类都是公共的。我尝试使用'Project'.AppCode添加到顶部。令人难以置信的是令人沮丧。

我将很多代码粘贴到另一个项目中以确保它不是配置问题。

我页面后面的代码可以看到所有类。但它不知道它们中的任何一个都有属性。即使没有实例,它甚至会实例化一个新的构造函数。

例如,在我的AppCode文件夹中是一个客户类。

public class Customer
{
    public string fname { get; set; }
    public string lname { get; set; }
    public string address { get; set; }
    public string city { get; set; }
    public Province prov { get; set; }
    public string pcode { get; set; }
    public string email { get; set; }
    public List<PhoneNumber> pnums { get; set; }
    public List<Pet> pets { get; set; }
    public string efname { get; set; }
    public string elname { get; set; }
    public PhoneNumber epnum { get; set; }
    public string eemail { get; set; }

    public Customer(string fname, string lname, string address, string city, Province prov, string pcode, string email, List<PhoneNumber> pnums, List<Pet> pets, string efname, string elname, PhoneNumber epnum, string eemail)
    {
        this.fname = fname;
        this.lname = lname;
        this.address = address;
        this.city = city;
        this.prov = prov;
        this.pcode = pcode;
        this.email = email;
        this.pnums = pnums;
        this.pets = pets;
        this.efname = efname;
        this.elname = elname;
        this.epnum = epnum;
        this.eemail = eemail;
    }

}

在我的代码后面,我可以看到并实例化这个类,但它只使用空白构造函数。它无法查看我声明的任何公共变量。

Customer customer = new Customer();
customer.pets.Add(new Pet());

吐出错误

 "Error 2   'Project.Customer' does not contain a definition for 'pets' and no extension method 'pets' accepting a first argument of type 'Project.Customer' could be found (are you missing a using directive or an assembly reference?)"

1 个答案:

答案 0 :(得分:0)

您需要为客户初始化宠物清单。

            Customer customer = new Customer();
            customer.pets = new List<Pet>();
            customer.pets.Add(new Pet());