如何将参数(如inparameter)发送到e member array的方法addItem?

时间:2013-11-01 21:14:57

标签: c#

我使用实验室c#。将制定计划库存。 addItem方法有问题。应该传递一个类型为StockItem的参数,但在调用方法之前不管理它的形状。我已经尝试了所有内容,使用子类创建一个新的日志项实例,但是来自subklaserna的所有变量都被锁定在实例中。有人可以帮忙吗? 提前谢谢。

代码:

public class StockItem
    {

        public int Id { get; set; }
        public string Name { get; set; }
        public int StockCount { get; set; }



        public StockItem(int Id, string Name, int StockCount)
        {
            this.Id = Id;
            this.Name = Name;
            this.StockCount = StockCount;

        }

        public StockItem()
        {
            // TODO: Complete member initialization
        }



        public override string ToString()
         {
             return String.Format("Id:{0} Namn:{1} Count:{2}", Id,Name,StockCount);
         }
     }


        public class EcoStockItem : StockItem
        {

            public string Markning { get; set; }
            public EcoStockItem()
            {
            }

            public EcoStockItem(string Markning)
            {
                this.Markning = Markning;
            }
            public EcoStockItem(int i, string n, int sc, string Markning):base (i,n,sc)
            {
                base.Id = i;
                base.Name = n;
                base.StockCount = sc;
                this.Markning = Markning;
            }


            public override string ToString()
            {
                return String.Format("Mark: {0}", Markning);
            }
        }
        public class Plate : StockItem
        {
            public string Typ { get; set; }

            public Plate(string Typ)
            {
                this.Typ = Typ;
            }

            public Plate(int i, string n, int sc, string Typ):base (i,n,sc)
            {
                base.Id = i;
                base.Name = n;
                base.StockCount = sc;
                this.Typ = Typ;
            }



            public override string ToString()
            {
                return String.Format("Plate: {0}", Typ);
            }

        }

        public class Juice : EcoStockItem
        {


            public string Typ { get; set; }

            public Juice (string Typ)
            {
                this.Typ = Typ;
            }

            public Juice(int i, string n, int sc, string m,string Typ):base (i,n,sc,m)
            {
                base.Id = i;
                base.Name = n;
                base.StockCount = sc;
                base.Markning = m;
                this.Typ = Typ;
            }


            public override string ToString()
            {
                return String.Format("Juice: {0}", Typ);
            }

    }
}


class Stock
{

    public StockItem[] StockItems = new StockItem[10];


    public void AddItem(StockItem item)
    {
        int index = GetCount();
        StockItems[index] = item;
        Form1.myForm.textBoxTest.Text = StockItems[index].ToString();
    }

    public int GetCount()
    {
        int count = 0;
        for (int n = 0; n < StockItems.Length; n++)
        {

            if (StockItems[n] != null)
            {

                count++;
            }
        }
        return count;
    }

表单类

private void buttonAdd_Click(object sender, EventArgs e)
{

    newStock = new StockItem(id, name, stockcount);
    newEcoStockItem = new EcoStockItem (markning);
    newPlate = new Plate(typ);
    newJuice = new Juice(jtyp);

    Stock st = new Stock();
    //st.AddItem(allItem);

}

0 个答案:

没有答案