Object Initializers and Collection Initializers allow us to specify a set of properties to set on a new object or items to add to a new collection within a single expression
Old style:
var customer = new Customer(); customer.Name = "Phani"; customer.Address = "UK"; var item1 = new OrderItem(); item1.ItemId = "a123"; item1.Quantity = 5; var item2 = new OrderItem(); item2.ItemId = "b456"; item2.Quantity = 2; var order = new Order(); order.OrderId = "xyz"; order.Customer = customer; order.Items.Add(item1); order.Items.Add(item2);
Now with object and collection initializers , we can write as :
var order = new Order
{
OrderId = "xyz",
Customer = new Customer { Name = "Phani", Address = "UK" },
Items =
{
new OrderItem { ItemId = "a23", Quantity = 5 },
new OrderItem { ItemId = "b456", Quantity = 2 }
}
};
Github: https://github.com/pbndru/ObjectCollectionInitializers
nice explanation
LikeLike