Co-Evolution of languages: When one feature or capability is added to one language, the feature or ability to have that feature will be placed in the other language.
This is a bit incomplete. I could not type as fast as slides move. I will update it when I get the slides.
C# 4.0: Dynamic Programming.
C# 4.0 Language Enhancements
- Dynamically Typed Objects
- Optional and Named Parameters
- Improved COM Interoperability
- Co and Contra variance
Dynamically Typed Objects
Dynamic Language Runtime
- Expression Trees
- Dynamic Dispatch
- Call Site caching
TODO: FIX Code; I could not type it fast enough.
Optional and Named Parameters
Improved COM Interoperability
- Automatic object -> dynamic mapping
- Optional and named parameters
- Indexed Properties
- Optional ref "modifier
- Interop type embedding ("NoPIA")
Interop calls do not need to be cast.
TODO: GET Excel Interop sample.
Co and Contra variance
can be done using the new C# 4.0 support for safe co- and contra-variance
Variance in C#
- Support for interface and delegate types
- "statically checked definitions"
- TODO: Add missing elements
Coming Soon to C#
A new compiler, compiler as a service... Source files -> compiler -> .NET Assembly
This will allow applications to hook into the compiling service for testing, checks, and more.