
Object Initialization in C# 3.0
February 19, 2008In older versions of C# when you create a new object and had to initialize some of its members, you had to write code similar to this -
Name name = new Name();
name.FirstName = “Fred”;
name.LastName = “Nurk”;
To make this sort of initialization easier, C# 3.0 introduces new syntax as shown below -
//Initialization with empty constructor
Name name = new Name
{ FirstName = “Fred”,
LastName = “Nurk”
};
The syntax also allows constructors with parameters -
//Intialization with constructor parameter
Name name = new Name(someParameter)
{
FirstName = “Fred”,
LastName = “Nurk”
};
You can also do nested initialization as shown below -
//Nested initialization
Customer customer = new Customer
{
CustomerName = new Name
{ FirstName = “Fred” },
Address = “400, Somwhere”
};
The syntax is pretty straight forward. You can initialize any public Property or member variable, by specifying the name of the Property/variable and initializing it with a = operator. More than one member can be initialized by using the comma operator. The only thing you cannot do is call a method or initialize a private member inside the initializer.
Can you do this?
List customer = new List
{
new Customer{ FirstName=”", Address=”"}
};
Yes, you can. Assuming that WordPress removed the generic parameter – Customer, that you are passing to List in your comment.
[...] Object Initialization [...]
[...] that the syntax makes use of both Implicitly typed variables as well as Object initialization methods that were explained in earlier posts. The new keyword usually is followed by the type that [...]
sorry your stuff do not work I don’t where did you compile this is not making any sense at all