Why can I create an instance of a class without storing it to a variable and still have everything work?
I have a non-static class called ImplementHeaderButtons which contains a non-static public method called Implement . The name of the class and method are not important, what's important is that they are not static, so they need to be instantiated in order to be used, right? So I used to do this: var implementHeaderButtons = new ImplementHeaderButtons(); implementHeaderButtons.Implement(this, headerButtons); But then I decided to play around a bit with it (actually I was looking for a way to make it a one-liner) and I concluded that the following code works just as well: new