Visual Studio 2008 Training                                       3.5 RTMMohamed SalehMohamedSaleh@live.comwww.jordev.netw...
Module 2:C# 3.0 Language Enhancements
Overview  Automate the process of creating properties  Enhance the objects and collections using the  Initializers  Create...
Automatically Implemented Properties              Auto-Implemented Properties Overview  Auto-Implemented Properties can ha...
Lab 1: Using Auto-Implemented Properties              Using the Automatic Implemented              Properties.            ...
Object and Collection Initializers                  Object Initializer Overview   Object Initializers allows the developer...
Object and Collection Initializers                      Collection Initializers Overview   The collection Initializers all...
Lab 2: Using Initializers                Writing Object Initializer expressions.                Writing Collection Initial...
Implicit Typing                  Implicit Typing Overview   The new keyword var allows the C# compiler to infers   the typ...
Lab 3: Using Implicit Typing               Using implicit-typed variables.               Using implicit typing with foreac...
Extension Methods                     Extension Methods Overview  Extension Methods allows the developer to inject new  me...
Lab 4: Using Extension Methods              Extending types with extension methods.              Consuming extension metho...
Lambda Expressions                      Lambda Expressions Overview  Lambda expressions allows the developer to write  fun...
Lab 5: Writing Expression Methods              Writing lambda expressions              Using the Lambda expressions.      ...
Review         In this module, you learned to:            Examine the Auto Properties Feature            Work with Initial...
Upcoming SlideShare
Loading in …5
×

Module 2: C# 3.0 Language Enhancements (Slides)

1,102 views
1,027 views

Published on

Module 2: C# 3.0 Language Enhancements (PowerPoint Slides)
Jordan .NET User Group (Jordev)
Community Material
Mohamed Saleh

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,102
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Module 2: C# 3.0 Language Enhancements (Slides)

  1. 1. Visual Studio 2008 Training 3.5 RTMMohamed SalehMohamedSaleh@live.comwww.jordev.netwww.geeksconnected.com/mohamed
  2. 2. Module 2:C# 3.0 Language Enhancements
  3. 3. Overview Automate the process of creating properties Enhance the objects and collections using the Initializers Create implicitly typed local variables Extend existing types using Extension Methods Write the new lambda expressions Using the new features in multi-framework versions
  4. 4. Automatically Implemented Properties Auto-Implemented Properties Overview Auto-Implemented Properties can handle the trivial implementation of getter and setter. The compiler will generate hidden backing fields with the implementation. This feature is related to the compiler and not the Framework Version or the Intermediate Language. The Auto-Implemented Properties can be implemented using the following syntax: public string Name { get; set; }
  5. 5. Lab 1: Using Auto-Implemented Properties Using the Automatic Implemented Properties. Creating read-only and write-only properties. Using Automatic Implemented Properties with multi-framework versions. Examining the effects of the Automatic Implemented Properties on the generated intermediate language.
  6. 6. Object and Collection Initializers Object Initializer Overview Object Initializers allows the developer to create the object instance and assign the initial values at the same time. The C# 2.0 way of initializing objects: Customer cst2 = new Customer(); cst2.ID = 2; cst2.Name = "Ayman Farouk"; cst2.Phone = "0799-987-980-98"; The C# 3.0 way of initializing objects: Customer cst3 = new Customer() { ID = 3, Name = "Osama Salam", Phone = "074-545-545-67" };
  7. 7. Object and Collection Initializers Collection Initializers Overview The collection Initializers allows the developer to specify one or more elements Initializers when initializing any type that implements the System.Collections.Generic.IEnumerable<T>. Initializers Rules: 1. Object Initializers cannot include more than one member initializer for the same field or property. 2. The Object Initializers cannot refer to the newly created object it is initializing. 3. The Collection type must implements System.Collections.Generic.IEnumerable<T> in order to have initializers.
  8. 8. Lab 2: Using Initializers Writing Object Initializer expressions. Writing Collection Initializer expressions. Using the nested object initializer. Using Initializers with multi-framework versions. Examining the generated initialization instructions in the intermediate language.
  9. 9. Implicit Typing Implicit Typing Overview The new keyword var allows the C# compiler to infers the type of variables the compiler will determines the appropriate CLR type Var differ than variant keyword in VB6 and COM Implicit Typing Context: 1. Declaring variable at the method/property scope 2. In a for loop statement. 3. In a foreach loop statement. 4. In a using statement.
  10. 10. Lab 3: Using Implicit Typing Using implicit-typed variables. Using implicit typing with foreach context. Using implicit typing with custom classes and lists. Using Implicit Typing with multi- framework versions. Examining the types of the implicit-typed variables.
  11. 11. Extension Methods Extension Methods Overview Extension Methods allows the developer to inject new methods to the existing compiled types without the need to re-write or override the current implementations. Extension Methods are natively supported in the VS 2008 IDE. Defining Extension Methods: 1. Must be defined in separated static class. 2. Must be declared as static methods. 3. The first parameter modifier of the extension methods must be this keyword.
  12. 12. Lab 4: Using Extension Methods Extending types with extension methods. Consuming extension methods. Extending different .NET Framework built- in types.
  13. 13. Lambda Expressions Lambda Expressions Overview Lambda expressions allows the developer to write functions in expression context instead of writing it the regular method body with a name. it consists of two sides separated by the lambda operator => “goes to” the left side specifies the parameters if any, and the right side holds the statement block or the expression. Lambda Expression Limitation: 1. It can be only used as a part of statement. 2. The lambda expression does not have a name. 3. Lambda expression cannot contain a goto, break, or continue statement whose target is outside the body.
  14. 14. Lab 5: Writing Expression Methods Writing lambda expressions Using the Lambda expressions. Understanding the different in writing expressions using delegates, anonymous methods, and lambda expressions.
  15. 15. Review In this module, you learned to: Examine the Auto Properties Feature Work with Initializers Use the Implicit Typing Feature Extending Existing Types Writing Lambda Expressions

×