La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

C# 2.0, un an après Mitsuru FURUTA Relations techniques développeurs - Microsoft France –

Présentations similaires


Présentation au sujet: "C# 2.0, un an après Mitsuru FURUTA Relations techniques développeurs - Microsoft France –"— Transcription de la présentation:

1 C# 2.0, un an après Mitsuru FURUTA Relations techniques développeurs - Microsoft France –

2 Agenda Introduction Generics Nullables -- Pause -- Méthodes anonymes Itérations …C# 3.0

3 Introduction Pourquoi une telle présentation ? Au delà de la compréhension technique, un nouveau langage demande également à être assimilé et intégré dans nos habitudes de développement. C# 2.0 apporte plusieurs nouvelles extensions importantes permettant dexploiter toujours au mieux les nouveautés de la plate-forme.Net 2.0. Avant dadopter ces nouveautés, il est nécessaire den comprendre à la fois les intérêts et les contraintes.

4 Les generics Les generics permettent aux classes, structures, interfaces, délégués et méthodes dêtre paramètrés par les types de données quils stockent et quils manipulent. Les types ainsi définis apportent: la robustesse dun typage fort la clarté du code (plus de casts) la performance en supprimant les boxing/unboxing la sécurité dune vérification accrue à la compilation Bien que ressemblant fortement aux templates du C++, la syntaxe de C# 2.0 offre une approche plus simple et plus sécurisée. (limitations, contraintes)

5 Les generics: syntaxe class MyClass {} struct MyStruct {} delegate R MyDelegate (P param); interface IMyInterface { T GetData(); } void MyMethod (List param) {}; Contraintes: where, new(), struct Le mot clé default Attention aux overloads Ne pas casser la programmation objet !

6 Generics: syntaxe et introduction + Reflector Demo

7 Les generics: inférence de type Possibilité domettre un paramètre de type lorsque le compilateur peut le déduire de manière certaine Cette fonctionnalité est primordiale pour la simplicité décriture des séquences Linq q.Select ().ToList ().First ();

8 Generics: linférence de type Demo

9 Les generics: compilation et reflection Nature de la compilation Les generics ne sont pas des templates ! Les vérifications de types ont bien lieu à la compilation comme avec un pré-processeur de templates Mais les classes typées ne sont pas compilées en IL (!= java) Les generics sont identifiés dans les assembly.Net Les classes (ou méthodes) fortement typées sont compilées nativement au moment de la première utilisation de chacune La reflection de la CLR 2.0 a été étendue pour récupérer ces informations de type Tests: t.IsGenericType, t.IsGenericTypeDefinition Création: Type.MakeGenericType()

10 Generics: la reflection Demo

11 Les generics: compilation et reflection Quelques dangers: Membres statiques Classes imbriquées

12 Les generics: cas dutilisation FileLineReader Gestion dun cache dobjects

13 Generics: cas dutilisation FileLineReader Gestion dun cache dobjets Demo

14 Les nullables Syntaxe et définition: Les nullables sont des structures génériques qui permettent de remplacer les types « valeurs » en leur apportant la possibilité dêtre null. Nullable i; i = 123; int j = (int) i; int j = i.Value; if (i.HasValue) Le cas de DBNull.Value

15 Nullables: définition + Reflector Demo

16 Pause

17 Les méthodes anonymes Syntaxe et définition Les méthodes anonymes permettent de fournir à un délégué des instructions directement « inlinées » à lendroit où le délégué est affecté. Tous les évènements et callbacks du framework.Net étant basés sur des délégués, les méthodes anonymes simplifient grandement leur usage. Outre une simplification décriture, les méthodes anonymes permettent davoir un accès partagé avec la portée locale. Lexécution réelle du délégué pouvant être asynchrone, une structure complexe permet la « survie » des données partagées au-delà de la méthode « hôte ».

18 Les méthodes anonymes: Introduction + Reflector Méthodes de List<> Demo

19 Les méthodes anonymes: Exécution différée et exécution parallèle Demo

20 Les méthodes anonymes Comportement avec les instructions de bloc Attention à la lisibilité ! Le cas du try…catch Profiter de lexécution différée Factoriser les instructions de bloc !

21 Les méthodes anonymes: Les instructions de bloc Demo

22 Itérations Rappel sur IEnumerator Reset/Current/MoveNext IEnumerable ou comment combler labsence de délégation dimplémentation dinterface Les mots clés: yield return / yield break

23 Les itérations: FileLineReader, suite et fin Les classes Enum revisitées Demo

24 …C# 3.0 Les expressions lambda Offrir une écriture simplifiée des méthodes anonymes button1.Click += (o, args) => MessageBox.Show(o); Les requêtes Linq

25 C# 3.0 ToDictionnary() Recherche dattributs Demo


Télécharger ppt "C# 2.0, un an après Mitsuru FURUTA Relations techniques développeurs - Microsoft France –"

Présentations similaires


Annonces Google