.NET Framework 4.5 Beta not only brings the Async/Await keywords and language simplifications to C# and Visual Basic, but also adds asynchronous methods to several common I/O and data access functions. New asynchronous features are available in ASP.NET 4.5, WCF, and WPF as well.
Optional parameters have always been part of .NET, but with C# unwilling to support it, using them was generally considered taboo unless work with COM libraries. Now that C# 4 does support them, we are starting to see them used for a lot more than just legacy code. Other uses include interoperability with dynamic languages, immutable data structures, and various parts of ASP.NET MVC.
CSI is a simple C# interpreter allowing command-line compilation of standalone C# files. A new version has been released to support .NET 4.0. CSI is open source with a full test suite.
Having caught with the recent advances in Microsoft’s C# 4, the Mono team is now playing with their own extensions to the language. The two features they are experimenting with are string interpolation and support for multiple return values.
In this interview Eric Nelson talks about what’s coming in VS 2010, the C# – VB.NET convergence, the introduction of Parallel as a library, and Azure cloud computing.
Creating wrapper functions for pre-existing stored procedures is surprisingly difficult in .NET. Stored procedures have certain calling conventions that aren’t generally used in the .NET Framework and many of them are not supported at all. For example, C# doesn’t support optional parameters and neither .NET language supports optional parameters on nullable types.
C# does not work well with boxed numerical values. Unlike Visual Basic, the basic numeric comparison operators such as == do not work with boxed types even when both values are the same type. Fortunately with C# 4 you can avoid these problems by using the dynamic keyword.
In this interview made by InfoQ’s Sadek Drobi, Don Syme, a Senior Researcher at Microsoft Research, answers questions mostly on F#, but also on functional programming, C# generics, type classes in Haskell, similarities between F# and Scala.
With .NET 4, C# 4 will be able to support co- and contra-variance in generic interfaces. If you are not familiar with them, think of it as the reason why you can't pass an IEnumerable
Believe it or not, C# is going to have full support for optional and named parameters. This, and other features intended for COM support, will be included in C# 4. There was also a rumor about parameterized properties.
In .NET 4 types will no longer be restricted to a single assembly. A single type, or part of a type, can be extracted from one assembly and placed into another. Why would you do this? Well first off all, to reduce the cost of including the Office Primary Interopt Assemblies from several megabytes to about 2KB by only including what you actually need.