I\'m using object and collection Initializers in the program and thinking how to get the example below.
Orders.Add(new Order()
{
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,
}
}
What you're trying to here isn't possible. You can't refer to the object being constructed from within an object initializer body. You will need to break this up into a set of separate steps
var local = new Order() {
id = 123,
date = new datetime(2012, 03, 26);
};
local.items = new OrderItems() {
lineid = 1;
quantity = 3;
order = local;
};
Orders.Add(local);