Info My name – Valera Kolupaev – Wave for questions - All sources -
Learning roadmap Project C# Data base www ASP.Net App Design 20 Занятий MSTest Test framework C# Delegates, Events, Extension Methods Must-know types (Stopwatch, Regex, *Builder, *Stream) Generics Collections Threading XML
Day 1 MSTest test framework Delegates, Anonymous delegates Events Closures Extension methods
MSTest Test framework Проблема:
MSTest - Решение Это можно делать только в тестах.
MSTest - Решение
MSTest Task
Delegates Делегат – это указатель на функцию Делегат можно сохранить в переменную Делегат можно вызвать (это вызовет саму функцию)
Event – список Делегатов Event – механизм для оповещения о событиях Объявить («У нас есть чайник, который кипит») Подписаться на оповещение («Скажи мне когда чайник закипел») Вызвать («Чайник закипел!»)
Event в ASP.Net и WinForms Your Code Page Loaded Page Initialized Button Clicked
Anonymous Delegate / Closure
Standard Delegates Action Action - ничего не возвращают Func Func - возвращают T1
Extension methods Extension methods – это метод, который можно добавить к уже сделанному классу, даже если он не наш
Var keyword Var – ключевое слово для ленивых, оно позволяет не повторять тип в 2х местах: Var – это не динамический тип. Ошибка компиляции
Task for day 1 Класс OutputColorizerBuilder, для раскраски вывода на консоль. Класс должен иметь 2 метода: Extension method
Вы только что сделали Builder pattern
Day 2 Test Driven Development and NUnit Least known.Net types Collections Linq 2 Objects Strategy pattern
Basic types StringStringBuilderRegex DateTime*Writer*Reader
Generic Collections HashSetSortedSetStack QueueListLinkedList SortedList Dictionary SortedDictionary
Collections overview Great collections guide is available at All collections are not thread safe Most used collections are List and Dictionary Others are for performance/memory tuning
Linq to objects Linq – Language Integrated Query, набор Extension Methods к IEnumerable, который существенно упрощает операции над коллекциями. Показать основные операторы Linq (Aggr, Sum, Min, Max, Join, ToDict, ToLookup)
Day 3 Advanced generics Linq to xml Threading Lab!
Day 4 Idisposable Memory management LOH Generations Memory leaks