C# 不包含对此的定义

C# 不包含对此的定义,c#,C#,我是新来C#的,这对我来说真的很难。我正在用C语言编写这个程序,这是我面临的错误 错误1“Lab1.Invoice”不包含“partNumber”的定义,并且找不到接受“Lab1.Invoice”类型的第一个参数的扩展方法“partNumber”(是否缺少using指令或程序集引用?) 这是我的密码: using System; namespace Lab1 { class InvoiceTest { stati

我是新来C#的,这对我来说真的很难。我正在用C语言编写这个程序,这是我面临的错误

错误1“Lab1.Invoice”不包含“partNumber”的定义,并且找不到接受“Lab1.Invoice”类型的第一个参数的扩展方法“partNumber”(是否缺少using指令或程序集引用?)

这是我的密码:

    using System;


    namespace Lab1
    {
        class InvoiceTest
        {
            static void Main(string[] args)
            {
                string partNumber, partDescription;
                int quantity;
                decimal Iprice;

                Console.WriteLine("Part Number:");
                partNumber = Console.ReadLine();

                Console.WriteLine("Part Description:");
                partDescription = Console.ReadLine();

                Console.WriteLine("Quantity:");
                quantity = Convert.ToInt32(Console.ReadLine());

                Console.WriteLine("Price:");
                Iprice = Convert.ToDecimal(Console.ReadLine());



                Invoice invoice = new Invoice(partNumber, partDescription, quantity, Iprice);

                Console.WriteLine("Order: ");
                Console.WriteLine("Part Number: {0}", invoice.partNumber);
                Console.WriteLine("Description: {0}", invoice.pDescription);
                Console.WriteLine("Quantity: {0}", invoice.Quantity);
                Console.WriteLine("Price: {0}", invoice.Price);
                Console.WriteLine("Total: {0}", invoice.GetInvoiceAmount());

            }
        }
    }

Here is the code for Invoice:<br>
namespace Lab1
{
    class Invoice
    {
        private int qty;
        private decimal price;
        private string pNumber { get; set; }
        private string pDescription { get; set; }

        public Invoice(string partNumber, string partDescription, int quantity, decimal Iprice)
        {
            pNumber = partNumber;
            pDescription = partDescription;
            Quantity = quantity; 
            Price = Iprice;
        }

        public int Quantity
        {
            get 
            { 
                return qty; 
            }

            set
            {
                if (value > 0)
                    qty = value;
                else
                    qty = 1;
            }
        }

        public decimal Price
        {
            get
            {
                return price;

            }

            set
            {
                if (value > 0)

                    price = value;

                else
                    price = 1;
            }

        }

        public decimal GetInvoiceAmount()


        {
            return Quantity * Price;
        }


    }
}
使用系统;
名称空间Lab1
{
类发票测试
{
静态void Main(字符串[]参数)
{
字符串partNumber,partDescription;
整数;
十进位价格;
控制台写入线(“零件号:”);
partNumber=Console.ReadLine();
控制台。WriteLine(“部件说明:”);
partDescription=Console.ReadLine();
控制台写入线(“数量:”;
数量=Convert.ToInt32(Console.ReadLine());
控制台。WriteLine(“价格:”);
Iprice=Convert.ToDecimal(Console.ReadLine());
发票=新发票(零件号、零件说明、数量、Iprice);
控制台写入线(“命令:”);
WriteLine(“零件号:{0}”,invoice.partNumber);
WriteLine(“Description:{0}”,invoice.pddescription);
Console.WriteLine(“数量:{0}”,invoice.Quantity);
Console.WriteLine(“价格:{0}”,invoice.Price);
WriteLine(“总计:{0}”,invoice.GetInvoiceAmount());
}
}
}
以下是发票代码:
名称空间Lab1 { 类别发票 { 私人整数数量; 私人十进制价格; 私有字符串pNumber{get;set;} 私有字符串pDescription{get;set;} 公共发票(字符串零件号、字符串零件说明、整数数量、十进制Iprice) { pNumber=零件号; pDescription=零件描述; 数量=数量; 价格=价格; } 公共整数 { 得到 { 退货数量; } 设置 { 如果(值>0) 数量=价值; 其他的 数量=1; } } 公共十进制价格 { 得到 { 退货价格; } 设置 { 如果(值>0) 价格=价值; 其他的 价格=1; } } 公共十进制GetInvoiceAmount() { 退货数量*价格; } } }
Invoice
类中添加名为
PartNumber
的公共属性和名为
PartDescription
的公共属性。

如错误所示:

Invoice
不包含名为
partNumber
的属性

通过构造函数发送,但将其分配给名为:
pNumber

使用它或将其重命名为
PartNumber

编辑:
刚刚注意到它是一个私有属性-也将其更改为
public
(您可以将setter
private

只需添加您已经得到的注释,如果您想要拥有一个私有setter,则使用私有setter创建一个属性

class Invoice
{
    private int qty;
    private decimal price;
    public string partNumber { get; private set; }
    ...
}
我更改了:

private string pNumber to a public string pNumber 

以便访问它。我对
pddescription

做了同样的事情,错误非常具有描述性。
Invoice
的定义在哪里在您的
Invoice
类的定义中是否有一个名为partNumber的属性?它是在另一个类中创建的公共类class@hades张贴
发票的定义
请提供。我们不应该试图猜测
Invoice
类是什么样子的。(请注意,您可以大大简化示例。不需要五个不同的属性/字段/任何东西来显示一个错误。)