代码之家  ›  专栏  ›  技术社区  ›  Henri

集合被修改为异常linq to objects

  •  1
  • Henri  · 技术社区  · 15 年前

    这是我的密码:

    bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
    {
        return x.AantalKinderen == pvBillData.Reservering.Dagen[0].AantalKinderen &&
               x.AantalVolwassenen == pvBillData.Reservering.Dagen[0].AantalVolwassenen
    });
    

    属性是简单的getter(不是auto属性),并且不修改任何内容。

    有人知道为什么吗?

    这些列表不是genericht.net列表,而是XPCollection类型(DevExpress的XPO框架)。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Marc Gravell    15 年前

    一切 一个简单的getter?甚至 Dagen ? 我只能假设正在进行一些令人毛骨悚然的事情(可能是动态类型创建和静默重写,您在代码中看不到它们的成员) virtual ?). 但是

    var first = pvBillData.Reservering.Dagen.First();
    var kinderen = first.AantalKinderen;
    var volwassenen = first.AantalVolwassenen;
    bool lvNoGuests = pvBillData.Reservering.Dagen.All(
        x => x.AantalKinderen == kinderen && x.AantalVolwassenen == volwassenen);
    
        2
  •  3
  •   Steven    15 年前

    试试这个:

    var eersteDag = pvBillData.Reservering.Dagen[0];
    var verwachtAantalKinderen = eersteDag.AantalKinderen;
    var verwachtAantalVolwassenen = eersteDag.AantalVolwassenen;
    
    bool lvNoGuests = pvBillData.Reservering.Dagen.All(x =>
    {
        return x.AantalKinderen == verwachtAantalKinderen &&
               x.AantalVolwassenen == verwachtAantalVolwassenen
    });