Hi,

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?

Thanks

Hi,

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?

Thanks

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.

Comments
Very likely exactly what's going on. Good example :)
This article has been dead for over six months. Start a new discussion instead.