В моем веб-API, как написать код для MobileItems (родительский класс), в котором один мобильный элемент имеет AccessoryItems (дочерний)? - PullRequest
0 голосов
/ 28 января 2020

    public class MobileItems
        {

            public int MobileItemsId { get; set; }

            public string MobileName { get; set; }

            public int MobilePrice { get; set; }

            public string isAccessory { get; set; }
            public List<AccessoryItems> AccessoryItems { get; set; }
        }



    }

Это моя родительская модель MobileItems, в которой мне нужно создать метод, который проверяет для каждого мобильного телефона, что у него есть принадлежность, или нет, если он печатает да или нет

1 Ответ

0 голосов
/ 28 января 2020

Это похоже на класс предметов, а не на класс, который собирает все мобильные телефоны.

public class MobileItems
{
    public int MobileItemsId { get; set; }

    public string MobileName { get; set; }

    public int MobilePrice { get; set; }

    public bool hasAccessory
    {
        get
        {
            return AccessoryItems.Any();
        }
    }
    public List<AccessoryItems> AccessoryItems { get; set; }
}

Обратите внимание, что я изменил isAccessory на hasAccessory , потому что (если я правильно понимаю) мобильный телефон является не аксессуаром, он имеет аксессуар.

hasAccessory вернет true, если есть любой объект в списке AccessoryItems . Будьте осторожны с нулем, хотя. Вы, вероятно, хотите инициализировать AccessoryItems в конструкторе, чтобы предотвратить будущие исключения.

Вы можете использовать это в каком-то другом классе или методе, чтобы выбрать, что печатать.

public void PrintMobileHasAccessory(List<MobileItems> mobiles)
{
    foreach (MobileItems mobile in mobiles)
    {
        if (mobile.hasAccessory)
            Console.WriteLine("yes");
        else
            Console.WriteLine("no");
    }
}
...