У вас есть несколько вопросов здесь. Во-первых, ваш код должен выглядеть примерно так:
public class Item
{
string Name = "Rock";
string Description = "It's a rock.";
}
public class Inventory
{
List<string> plyItems = new List<string>();
}
Таким образом, у вас есть личные переменные в вашем классе. По-твоему, в твоих конструкторах классов будет локальная переменная, которая перестанет существовать после того, как конструкторы пройдут свой курс.
Теперь, если вы хотите добавить Item.Name
к plyItems
, у вас есть несколько вариантов.
Вариант 1:
Вы можете сделать все публично:
public class Item
{
public string Name = "Rock";
public string Description = "It's a rock.";
}
public class Inventory
{
public List<string> plyItems = new List<string>();
}
и затем после того, как вы создали экземпляр Item
и экземпляр Inventory
где-то в коде:
Item item = new Item();
Inventory inventory = new Inventory();
Вы можете просто добавить его в список:
inventory.plyItems.Add(item.Name);
Вариант 2: Сделать пару функций:
public class Item
{
string Name = "Rock";
string Description = "It's a rock.";
public string GetName()
{
return name;
}
}
public class Inventory
{
List<string> plyItems = new List<string>();
public void AddName(string _name)
{
plyItems.Add(_name);
}
}
Затем, используя те же экземпляры, что и в варианте 1, позвоните:
inventory.AddName(item.GetName());
По моему опыту, это, как правило, более исключительный ответ.