Alex Rivera | Logout

Object and Collection Initializers - assign self?

Asked 2012-03-26T19:08:43.920
17

I'm using object and collection Initializers in the program and thinking how to get the example below.

Orders.Add(new Order()
                {
                  id = 123,
                  date = new datetime(2012,03,26)
                  items = new OrderItems()
                          { 
                             lineid = 1,
                             quantity = 3,
                             order = ?? // want to assign to current order.
                          }
                 }

How can I assign the newly created order to the order item?

Edit
Report

1 Answer

2

If Order.items is a property, you can put something like this in the property setter

public class Order
{
    private OrderItems _items;
    public OrderItems items
    {
        get { return _items; }
        set
        {
            _items = value
            _items.order = this
        }
    }
}

Then you can just take the order out of the initializer:

Orders.Add(new Order()
           {
              id = 123,
              date = new datetime(2012,03,26)
              items = new OrderItems()
                      { 
                         lineid = 1,
                         quantity = 3,
                      }
             }
answered 2012-03-26T19:15:21.520

Your Answer