Я действительно новичок в C#, и сейчас я работаю над заданием, которое для меня действительно не имеет смысла. Мне нужен удар в правильном направлении.Array in Classes C#
Назначение:
мне нужно сделать консольное приложение, которое называется grocerylist. Этот список продуктов содержит класс под названием GroceryList. Этот класс содержит экземпляры переменных, которые являются массивами.
В массиве содержатся элементы типа продукта.
продукт класса имеет имя и количество строк в качестве атрибутов. Класс продукта является абстрактным и имеет 2 подкласса, называемых свежими и травами.
Мне нужно показать, что я могу добавлять элементы в GroceryList и отображать список.
Проблема у меня в том, что массив находится в классе GroceryList, и я не могу добавить к нему продукты. Я что-то упускаю, я несколько недель размышлял над тем, что может быть, и безрезультатно пробовал разные решения. Мне даже интересно, неправильно ли назначено задание. Это то, что я до сих пор:
namespace GroceryList
{
class Program
{
static void Main(string[] args)
{
bool Displaymenu = true;
while (Displaymenu == true)
{
Displaymenu = mainMenu();
}
}
public bool mainMenu()
{
Console.WriteLine("What would you like to do?");
Console.WriteLine("1) add a fresh product");
Console.WriteLine("2) add a herb");
Console.WriteLine("3) exit");
string result = Console.ReadLine();
if (result == "1");
{
Console.Clear();
product.fresh fresh1 = new product.fresh();
Console.WriteLine("What type of fresh product would you like to add?");
fresh1.naam = Console.ReadLine();
Console.WriteLine("How much of " + fresh1.naam + " would you like to add?");
string number = Console.ReadLine();
int quant;
int.TryParse(number, out quant);
fresh1.Quantity = quant;
return true;
}
}
}
public class GroceryList
{
List<product> products = new List<product>();
}
abstract class product
{
public string naam { get; set; }
public int Quantity { get; set; }
public class fresh : product
{
}
public class herbs : product
{
}
}
}
Ваши модификаторы доступа отключены. Вы сами это сказали: «Проблема в том, что массив находится в классе GroceryList, и я не могу добавить к нему продукты». Так что сделайте так, чтобы вы могли, читая о модификаторах доступа;) – TyCobb
Вам нужно явно указать свой список как открытый в GroceryList. В C# свойства по умолчанию помечены как закрытые, если вы не надели на них модификатор доступа. – LaneL