无法将“ Item []”转换为“ Item”

时间:2019-05-01 04:37:20

标签: c#

在这个问题中,我需要使用“ AddItem”方法(在另一个名为Inventory的其他.cs中找到),将“ StoreStartingItem”数组中的每个项目添加到商店的库存中。

我试图简单地调用方法并像这样通过它运行数组:

Inventory.AddItem(StoreStartingItems);

但是,我不断收到错误消息'Argument 1: cannot convert from 'Shop.Item[]' to 'Shop.Item'

我试图将我的'AddItem'方法从使用类参数更改为像这样的类数组参数:

public bool AddItem(Item item)
        {
            if (mItems == null)
                return true;
            else
                return false;
        }

对此:

public bool AddItem(Item[] item)
        {
            if (mItems == null)
                return true;
            else
                return false;
        }

但是然后我得到一个错误“ An object reference is required for the non-static field, method, or property 'Inventory.AddItem(Item[])'”。

我在做什么错了?

1 个答案:

答案 0 :(得分:3)

似乎AddItem需要一个Item,但是您要向其传递ItemItem[])的数组

尝试一下:

foreach (var item in StoreStartingItems)
    Inventory.AddItem(item)

正如评论中提到的那样,您可能想先阅读有关C#和面向对象编程的更多信息,或遵循一些教程。