Recently I was asked multiple questions about WCF, Web API, actually I posted multiple blog articles which were about WCF, Web API, The relationships between WCF, WCF Web API and ASP.NET Web API etc. in 2010 ~ 2013. Let me review them first, and then I will add new content and changes

As a IT guy, a Software Developer, a Microsoft technologies developer (from C++ to .NET ) with over 24 years development history, I still have to face to some awkward (embarrassed ? ) situations such as job interviews. I left school so many years, but some interviews still needed me to give correct answers for some basic computer and programming acknowledges, such as: What is C# ? What features does OO have ? or I was asked for writing code to give a good performance program to implement a scanning or searching case based on stack or queue ….

I missed a big event from Microsoft in passed 2 days since I was busy on our business project. I forgot the event date. so, I missed the big news from Microsoft. I just realized Microsoft took .NET open source, and released Visual Studio full feature edition.

Yes, .NET open-sourced to everybody, and Visual Studio is free to everybody now; Also, .NET will be running on Linux and Mac systems eventually! And, Programmers will be able to use Visual Studio to develop Android and Mac projects directly!

Microsoft released Visual Studio 2012 and .NET Framework 4.5 in the last week (2012 August 15). That was really a big day for both of all .NET developers and Microsoft.

When I quickly viewed the introduction of Visual Studio 2012, I felt a new generation using Microsoft techs and tools was coming fast. If we thought the new generation was still some far before, now we have to say: we are in the new stage (generation) now.

The following are some important features which are NEW compared with old version of Visual Studio:

1: For Windows 8, for Windows Phone 8;Yes, Everything for Microsoft now is the number 8: Windows 8 and Windows phone 8. they should be the most important products for Microsoft’s several of new coming years, definitely the Visual Studio 2012 should provide good support for them, this is the m

2: For new Web stuff:Before Microsoft could only consider their Silverlight, but now all over the world turning to HTML5, also HTML & CSS, JavaScript. So VS 2012 provided support for them, including IntelliSense JavaScript editor, a new DOM explorer;

3: For cloud computing (Azure):Cloud computing is also a big one part the next generation applications. Microsoft spent lots of budget on their cloud computing platform, the Azure;

4: For SharePoint: Business Stuff.

5: For Game and 3D

…

There are other new features which I should not talk more here, because we need to read more professional articles and messages. the following are the important links which I suggest to read:

From previous sample, we can see .NET provides a EventHandler which let us ignore delegate define, actually, .NET defined delegate for us automatically without need us define. But, for the event with specific data (generated data), we have to define delegate handler for each time. just like this:

public delegate void MyEventHandler(object sender, MyEventArgs e);

Most of cases, when we define delegate handler, only the second parameter is different, So why don’t .NET provide another style EventHandler to let us skip defining the delegate too for those specific data events ?

Yes, Since .NET 2.0, Microsoft provided the Generic EventHandler, which let us reduce some works.

Let’s go back to the sample 1 above (For event-specific data):

1: Step 1 keeps the same: define MyEventArgs

2: We do not need to define a delegate handler this time, but just use Generic EventHandler;

3: We create a new class to replace the first class MyClassIncludesDefinedEvent, The new class named MyGenericEventClass, its full content is the following: