Создать класс Collection, который наследует общие параметры по умолчанию

В первой реализации JavaScript значения JavaScript были представлены как тег типа и значение, причем тег типа для объектов, являющихся 0, и null был представлен как указатель NULL (0x00 on большинство платформ). В результате, null имел 0 как тег типа, поэтому возвращаемое значение fog typeof ( reference ).

 typeof null === 'object'; // This stands since the beginning of JavaScript

Было предложено «исправить» для ECMAScript (через опцию). Это привело бы к:

typeof null === 'null'

... но это изменение было отклонено , из-за проблем с кодом, используя этот конкретный «quirk» для проверки на null.

0
задан 13 July 2018 в 05:33
поделиться

2 ответа

Возможно, это поможет вам.

public class CartLine
{
        public int CartLineId { get; set; }
        public int ProductId { get; set; }
        public int Quantity { get; set; }
}

    public class ShoppingCart : List<CartLine>
    {
        public ShoppingCart()
        {
        }

    }

    public class ShoppingCartRepository
    {

        private ShoppingCart ShoppingCart = new ShoppingCart();

        public IEnumerable GetShoppingCart()
        {
            return ShoppingCart.ToList();
        }

        public virtual void AddItem(int productid, int quantity)
        {
            ShoppingCart.Add(new CartLine
            {
                ProductId = productid,
                Quantity = quantity
            });
        }

        public virtual void RemoveItem(int cartlineid)
        {
            ShoppingCart.RemoveAll(l => l.CartLineId == cartlineid);
        }

    }

Я меняю класс, чтобы сделать его общим. Проблема, я думаю, заключается в том, что вы делаете свой общий список ShoppingCart, но вы хотите добавить CartLine.

Надеюсь, это поможет вам.

3
ответ дан Darem 17 August 2018 в 13:38
поделиться
  • 1
    @ LakeFish84 жаль, что я не понимаю. Вы хотите, чтобы вам не нужно было объявлять новую корзину покупок? – Darem 13 July 2018 в 05:58
  • 2
    @ LakeFish84 Я обновляю свои решения. – Darem 13 July 2018 в 06:02

Я не уверен, почему вы пытаетесь переместить корзину из магазина, но есть много проблем с кодом

  1. Вам нужно будет определить свойство List<CartLine> ShoppingCart в class ShoppingCartRepository. Прямо сейчас вы создаете его внутри конструктора. Это не сделает свойство / поле ShoppingCart класса.
  2. Как уже упоминалось в комментариях, ToList() не является частью List. Таким образом, вы не сможете использовать его, если вы явно не определяете его. Но не знаете, почему вам нужно называть ToList() на элементе List.
  3. Кроме того, вы не должны наследовать от List<ShoppingCart>, вместо этого используйте интерфейс - IList<T>. Это поможет вам с насмешкой / тестированием.

Что еще более важно, я не вижу никакой ценности, добавляемой в то, что вы пытаетесь сделать. Если вы можете предоставить более подробную информацию об этом, возможно, я могу предоставить более подробную информацию.

0
ответ дан Kedar Rudre 17 August 2018 в 13:38
поделиться
  • 1
    Виноват. Починил это. Спасибо, что указали это. – Kedar Rudre 13 July 2018 в 06:10
Другие вопросы по тегам:

Похожие вопросы: