1 / 24

Info

Info. My name – Valera Kolupaev Email – Valera.Kolupaev@gmail.com Wave for questions - http:// bit.ly/bsu-dotnet-2010 All sources - https://code.google.com/p/bsu-epam-2010/. Learning roadmap. 20 Занятий. www. ASP .Net. App Design. Database. C#. Project. MSTest Test framework

diep
Télécharger la présentation

Info

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Info • My name – Valera Kolupaev • Email – Valera.Kolupaev@gmail.com • Wave for questions - http://bit.ly/bsu-dotnet-2010 • All sources - https://code.google.com/p/bsu-epam-2010/

  2. Learning roadmap 20 Занятий www ASP .Net App Design Database C# Project • MSTest Test framework • C# Delegates, Events, Extension Methods • Must-know types (Stopwatch, Regex, *Builder, *Stream) • Generics • Collections • Threading • XML

  3. Day 1 • MSTest test framework • Delegates, Anonymous delegates • Events • Closures • Extension methods

  4. MSTest Test framework Проблема:

  5. MSTest - Решение Это можно делать только в тестах.

  6. MSTest - Решение

  7. MSTest Task

  8. Delegates • Делегат – это указатель на функцию • Делегат можно сохранить в переменную • Делегат можно вызвать (это вызовет саму функцию)

  9. Event – список Делегатов • Event – механизм для оповещения о событиях • Объявить («У нас есть чайник, который кипит») • Подписаться на оповещение («Скажи мне когда чайник закипел») • Вызвать («Чайник закипел!»)

  10. Event в ASP.Netи WinForms Your Code Page Loaded Page Initialized Button Clicked

  11. Anonymous Delegate / Closure

  12. Anonymous Delegate / Closure

  13. Standard Delegates • Action<T> • Action<T1, T2, …> - ничего не возвращают • Func<T> • Func<T1, T2, …> - возвращают T1

  14. Extension methods • Extension methods – это метод, который можно добавить к уже сделанному классу, даже если он не наш

  15. Var keyword • Var – ключевое слово для ленивых, оно позволяет не повторять тип в 2х местах: • Var – это не динамический тип. Ошибка компиляции

  16. Task for day 1 • Класс OutputColorizerBuilder, для раскраски вывода на консоль. • Класс должен иметь 2 метода: • Extension method

  17. Вы только что сделали Builder pattern

  18. Day 2 • Test Driven Development and NUnit • Least known .Net types • Collections • Linq2 Objects • Strategy pattern

  19. Basic types

  20. Generic Collections

  21. Collections overview • Great collections guide is available at http://bit.ly/bm6bzi • All collections are notthread safe • Most used collections are List<T> and Dictionary<T1, T2> • Others are for performance/memory tuning

  22. Linq to objects • Linq– “Language Integrated Query”, набор Extension Methods к IEnumerable, который существенно упрощает операции над коллекциями. • Показать основные операторы Linq (Aggr, Sum, Min, Max, Join, ToDict, ToLookup)

  23. Day 3 • Advanced generics • Linq to xml • Threading • Lab!

  24. Day 4 • Idisposable • Memory management • LOH • Generations • Memory leaks

More Related