Self Refresher
Thursday, December 01, 2011
- .Net Framework v4 New Features
- C# 4.0 New Features (all good stuff IMPO, variance being the hardest to grok)
- Named and Optional Parameters – already use this quite a bit
- Dynamic Support – handy way to ignore the complexity of ‘dynamically’ generated type declarations (e.g. linq results & COM Interop)
- Co/Contra-Variance – primarily intended to make .Net Framework methods with Generic type parameters like IEnumerable<T> “work like we’d expect” as is often quoted in explanatory texts (look for Jon Skeet and Eric Lippert). It removes a couple rather unexpected annoyances that C# 3 would’ve snagged on.
- Covariance represents “upcastable”. Concerns types coming out of an API. Represented by “out” keyword, e.g. public interface IEnumerable<out T>
- Contravariance is “downcastable”. Typically concerns types passed into an API. e.g. public interface IComparer<in T>
- Invariance is when something must go both in and out of a method and it can’t be declared differently on either side of the interface, it must be the same coming and going.
- COM Interop
- Dynamic Vars
- Optional Parms
- Optimized interop assembly file size
- WPF4 New Features
- New Controls – *DataGrid*, Calendar/DatePicker
- Touch
- Fancy Win7 Taskbar support
- Easements
- Silverlight 4 New Features
- New Controls – ViewBox (auto resize), RichTextBox
- Out-Of-Browser Support
- Printing support
- Drag and drop, clipboard access
- More WPF compatible XAML parser
- DataBinding improvements – StringFormat, collection grouping, INotifyDataErrorInfo or IDataErrorInfo support,
- WCF Data Services enhancements – Direct POCO mapping via Linq queries on Open Data Protocol feeds.
- Dynamic Support