Rethinking my Session on TechEd on Road

Hi Folks,

Its been a great time together on TechEd on Road event here in Kolkata. I can recollect the fun we had out of the sessions with Pinal Dave, nice to find you here Pinal and with Bijoy Singhal on Windows Phone 7. I would also like to thank Dhanajay Kumar for coming all the way from Pune only for this session, and also for giving a wonderful session to us. 

Lets now talk about my session on ".NET Fundamentals that every developers should Know". In this post I will share all the resources and source codes to make your easy way round to understand everything that you didnt understand in the session,  of course if any... :) 

The Presentation 

The Resources

The Session is actually divided into three sections. 

  1. Language Enhancements (mainly C#)
  2. DateTypes included in .NET 4.0
  3. Framework Enhancements

Lets discuss each of them in brief :

1. Language Enhancements : 

Named and Optional Parameters 

One of the First enhancements that were made in the .NET framework 4.0 is Named and Optional Parameters. You can now use Optional Parameters which you can omit during its call so that the default value that you specify in the argument will automatically be initialized with. Please note, that the default value of the parameters must be a constant, as IL manipulates the initialization.

Links :
Features of .NET 4.0

Dynamic Dispatch

The new dynamic keyword introduced in .NET framework 4.0 allows you to defer the compiler type checking at runtime. You can invoke any method on an object of it and the compiler will ignore the calls strictly yet the type checking will be done during Runtime.

The DLR implementation can also be moved further using IDynamicObject interface that lets you build a truly dynamic object at runtime.

Links :
Features of .NET 4.0
Dynamic Behaviour on Objects at Runtime With Custom ExpandoObject

Covariance & Contra-Variance

Generic Type parameters does not follow variance before .NET 4.0. That means the basic rules of OOPS inheritence does not corresponds in case of collection. .NET 4.0 adds a new feature on Co-variance and Contra-variance which allows you to make typesafe conversion of Generic types  to its more derived type.

Links :
Working with Co-Variance and ContraVariance
Features of .NET 4.0

2. Data Types included in .NET 4.0

In this section I have discussed some of the data types that are new to .NET framework 4.0. The data types that I have covered are BigInteger, ComplexNumber, Tuple, Lazy, SortedSet.

Links :
Working with BigInteger
Working with Complex Number
Working with SortedSet
Lazy initialization to Defer object creation
Working with Tuple

3. Framework Enhancements 

Managed Extensibility Framework

Managed extensibility framework deals with Extensibility that is most often required in mordern days. In this section I have created an application that supports extensibility and also allows pluggable application.

Links :
Managed Extensibility Framework - A Look
MEF - Extensibility

Parallel Extensions to .NET

.NET now wraps around the Threading model into a new framework of classes that allows you to handle Threads more easily than before. The set of classes can use ThreadPool automatically inside it and also can be spread in multi - core platforms.

Links :
Parallel Extension to .NET

Code - Contract in .NET 

Code contract is another set of classes that allows you to handle your validation easily. I am sorry that I cannot cover this section in the Session, but the article would definitely help you. I have also added one application with the source codes.

Links :

Code Contract and its Internals

Source Codes Demonstated in the Session :

I hope you all like my session.

Please write your feedback too.

Thanks, Happy Coding. 
Shout it Submit this story to DotNetKicks Bookmark and Share
Read Disclaimer Notice


Post a Comment

Please make sure that the question you ask is somehow related to the post you choose. Otherwise you post your general question in Forum section.

Author's new book

Abhishek authored one of the best selling book of .NET. It covers ASP.NET, WPF, Windows 8, Threading, Memory Management, Internals, Visual Studio, HTML5, JQuery and many more...
Grab it now !!!