static void Main(string[] args) { #region Delegate In Practice //Presenter p = new Presenter(); //p.PerformUsingSyntacticSugar(); //AClass.UsingLocalVariablesInCallback(10); //AClass.UsingLocalVariablesWithoutLambda(10); //GenericsExample.DisplayPerson(); #endregion #region Event In Practice //EventsInPractice.Perform(); //EventsInPractice.PerfromUnregisterNonListener(); //EventsInPractice.PerformWithEmailWithOverrideForEvent(); #endregion #region Reflection In Practice //ReflectionExample.ShowPublicTypes(); //ReflectionExample.CreatingDynamicExtensibleApplication(); //ReflectionExample.CallingMembersOfTypeUsingReflection(); //ReflectionExample.CallingMembersOfTypeUsingDynamic(); #endregion #region Serialization In Practice //SerializeExample.SerializeUsingBinaryFormatter(); //SerializeExample.SerializeUsingJsonFormatter(); //SerializeExample.SerializeUsingJsonFormatterWithNewField(); //SerializeExample.SerializeUsingJsonFormatterWithDeleteField(); //SerializeExample.SerializeUsingJsonFormatterWithAccessModifierChange(); //SerializeExample.SerializeUsingJsonFormatterWithNewMethodAdded(); //SerializeExample.PersistSerializedObjectGraph(); //SerializeExample.PersistSerializedObjectGraphInJSON(); #endregion #region Interface In Practice //InterfaceExample.InterfaceWithInheritanceImplementationForIDisposable(); //InterfaceExample.ExternalInterfaceImplementationMethod(); #endregion #region Generics In Practice //LinkedList.SameType(); //LinkedList.DifferentTypes(); #endregion #region Fundamentals In Practice ReferenceType.SwapAnyType(); new AnotherInternalClass().DoNothing(); #endregion Console.Read(); }