7 Years
Discussion Span
Last Post by __avd


I came across this code snippet:

new { genre = genreName }

I am not sure what is the name of this thing and how this thing works?


Hmmm, not sure i f this is enough to go on, although I think the code snippet should be

Genre myGenre = new Genre{ genre = genreName };

This would instantiate an object of Genre and set the property genre to genreName. It seems to be called anonymous constructor alot but is also known as Object Initializer. It allows access to the properties without an overloaded constructor.

In the Genre example

public class Genre
        string genre { get; set; }
        string description { get; set; }
        public Genre()
            //empty constructor, never do this :P

Instead of doing this

Genre myGenre = new Genre();
myGenre.genre = SomeGenre;
mygenre.description = SomeDescrioption;

I can do this

Genre myGenre = new Genre {genre = SomeGenre, description = SomeDescription};
Genre myOtherGenre = new Genre {genre = SomeOtherGenre};

anonymous constructor AKA Object Initializer gives a nice example.

Votes + Comments
Very likely exactly what's going on. Good example :)
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.