1.0,1.1,2.0,3.0,3.5,4.0…..
If You think these are just numbers,think again ,these are the versions of .NET and this time i will be blogging about these versions and especially whats coming up with 4.0 (Features ) and VNext.
C# is very object oriented, but since C# 3.0 it is also a functional programming. These trends are influencing the future of C# coming in C# 4.0.
Some of the Changes which i can easily identify are
New in 1.1
1. Support for ASP.NET Mobile Controls.
2. Version of the .NET Framework .NET Compact Framework to support Small Devices.
New in 2.0
1. Generics.
2. Iterators,Partial Classes,Nullable Types,Property Accessor Accessibility
3. New personalization features for ASP.NET, such as support for themes, skins and webparts.
New in 3.0
1. Windows Presentation Foundation (WPF)
Wiki :
The Windows Presentation Foundation (or WPF), formerly code-named Avalon, is a graphical subsystem in .NET Framework 3.0 (formerly called WinFX)[1], which uses a markup language, known as XAML for rich user interface development.It provides a consistent programming model for building applications and provides a clear separation between the user interface and the business logic. A WPF application can be deployed on the desktop or hosted in a web browser. It also enables rich control, design, and development of the visual aspects of Windows programs.is a web-based subset of WPF that enables Flash-like web and mobile applications with the same programming model as .NET applications. 3D features are not supported, but XPS and vector-based drawing are included
2. Windows Communication Foundation (WCF)
Wiki :
Windows Communication Foundation, or just WCF, is a programming framework used to build applications that inter-communicate. WCF is the part of the .NET Framework dedicated to communications. Originally tagged with the code name “Indigo”, WCF is one of the four new application programming interfaces introduced with .NET Framework 3.0, which was released in December 2006. The .NET Framework is Microsoft technology that ships in Windows operating systems (client, server and mobile platforms). The .NET Framework v3.0 is included in Windows Vista and Windows Server 2008; It is available as a free download for Windows XP and Windows Server 2003, and a similar but separate version is also available for .NET Compact Framework version 3.5.Because WCF is part of the .NET Framework, applications that use WCF can be developed in any programming language that can target the .NET runtime.
3. Windows Workflow Foundation (WWF)
Windows Workflow Foundation is a technology for defining, executing, and managing workflows.
4. Windows CardSpace (WCS)
wiki :
Windows CardSpace (codenamed InfoCard), is Microsoft’s client software for the Identity Metasystem. CardSpace is an instance of a class of identity client software called an Identity Selector. CardSpace stores references to users’ digital identities for them, presenting them to users as visual Information Cards. CardSpace provides a consistent UI that enables people to easily use these identities in applications and web sites where they are accepted.
New in 3.5
1. Support for LINQ queries, extension methods, and anonymous types with static type inference.
Whats Expected for 4.0
Introducing PLINQ and VBx [VB 10.0] and C#4.0
Beyond C# 4.0 ( Vnext )
1. Meda-data programming
2. Support for domain specific languages
The new features in C# 4.0 fall into four groups:
Dynamic lookup
Dynamic lookup allows you to write method, operator and indexer calls, property and field accesses, and even object invocations which bypass the C# static type checking and instead gets resolved at runtime.
C# 4.0 introduces a new static type called dynamic. When you have an object of type dynamic you can “do things to it†that are resolved only at runtime:
dynamic d = GetDynamicObject(…);
d.M(7);
The type dynamic can be thought of as a special version of the type object, which signals that the object can be used dynamically.
Named and optional parameters
Parameters in C# can now be specified as optional by providing a default value for them in a member declaration. When the member is invoked, optional arguments can be omitted.
Optional parameters
A parameter is declared optional simply by providing a default value for it:
public void M(int x, int y = 5, int z = 7);
Here y and z are optional parameters and can be omitted in calls:
M(1, 2, 3); // ordinary call of M
M(1, 2); // omitting z – equivalent to M(1, 2, 7)
M(1); // omitting both y and z – equivalent to M(1, 5, 7)
Named and optional arguments
C# 4.0 does not permit you to omit arguments between commas as in M(1,,3). This could lead to highly unreadable comma-counting code. Instead any argument can be passed by name. Thus if you want to omit only y from a call of M you can write:
M(1, z: 3); // passing z by name
or
M(x: 1, z: 3); // passing both x and z by name
or even
M(z: 3, x: 1); // reversing the order of arguments
COM specific interop features
Dynamic lookup as well as named and optional parameters both help making programming against COM less painful than today. On top of that, however, we are adding a number of other small features that further improve the interop experience. Furthermore, any argument can be passed by parameter name instead of position.
Variance
It used to be that an IEnumerable wasn’t an IEnumerable


Nice Site layout for your blog. I am looking forward to reading more from you.
Tom Humes