Microsoft TechDays Сергей Звездин sergey.zwezdin@gmail.com

Презентация:



Advertisements
Похожие презентации
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Advertisements

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows ® Azure Platform. Управление пользователями и ролями Управление правилами брандмауэра Содержание.
Windows ® Azure Platform. Создание сервера SQL Azure Создание базы данных Создание правил брандмауэра Управление базой данных Содержание.
Microsoft TechDays Илья Рудь MCT ЦКО «Специалист»
Windows ® Azure Platform. Обзор возможностей ДEМО: Получение информации и управление приложением в «облаке» Содержание.
Как продвигается тестирование? Как происходит сборка? Мы устраняем дефекты? На сколько качественно мы чиним дефекты? Мы готовы к выпуску?
24%24% 71%71% Silverlight ?????? infoinfo Браузер somedomain.com.
Microsoft TechDays Иван Андреев.
Microsoft TechDays Иван Андреев.
Microsoft TechDays Абраменко Денис Инженер IBS Datafort.
Объекты в приложении Данные в таблицах Entity Data Model Концептуальная схема Схема хранения данных ОтображениеОтображение.
Microsoft TechDays Игнатов Максим Разработчик e-Legion
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО.
Microsoft TechDays Сергей Поляков Developer Evangelist Microsoft.
Microsoft TechDays Владимир Безмалый MVP Consumer Security Microsoft Security Trusted Adviser.
Microsoft TechDays Илья Рудь MCT ЦКО «Специалист»
Microsoft TechDays Дмитрий Сошников Академический евангелист, Майкрософт Россия
Новый цикл разработки Интерфейс для создания Silverlight приложений.
Microsoft TechDays Иван Андреев.
Транксрипт:

Microsoft TechDays Сергей Звездин

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы List data = SortingHat.FilterArrayOfStrings ( baseballTeams, delegate (String teamName) { return (teamName.StartsWith("T")); } );

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы List data = SortingHat.FilterArrayOfStrings ( baseballTeams, s => s.StartsWith("T") );

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы var record = new { wins = 25, Looses = 10 };

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы public static class Class1 { public static void TestMethod(this Form source) { } Form1.TestMethod();

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы partial class MyClass { partial void Test(); public void Method1() { Test(); }

Microsoft TechDays Анонимные методы Лямбда-выражения Анонимные типы Методы расширения Частичные методы partial class MyClass { partial void Test() { // do something }

Microsoft TechDays Objects XML SQL Entities DataSet

Microsoft TechDays Объекты должны реализовывать IEnumerable Используйте Cast или OfType для использования коллекций, реализующих IEnumerable Синтаксис Язык запросов Точечный (dot notation) Отложенное исполнение запроса Запрос исполняется (материализуется) в момент обращения к данным Ошибки запроса не могут быть видны, пока запрос не исполнится

string[] cities = { Moscow, Spb, Eburg, Chelyabinsk, Samara, Izhevsk, Kazan, Novosibirsk, Vladivostok, Kaliningrad }; // expression query var query = from c in cities where c.StartsWith(S) select c; foreach (string city in query) { //.. }

string[] cities = { Moscow, Spb, Eburg, Chelyabinsk, Samara, Izhevsk, Kazan, Novosibirsk, Vladivostok, Kaliningrad }; // dot notation var query = cities.Where(c => c.StartsWith(S)); foreach (string city in query) { //.. }

Microsoft TechDays LINQ to Objects

Microsoft TechDays Поддержка XML для запросов LINQ Новая, улучшенная модель для работы с XML Создана из-за того, что XML DOM: Громоздкая Сложная Ресурсоемкая Сложная для понимания и т.д. System.Xml.Linq

Microsoft TechDays Упрощенное создание иерархий XML Конструирование XML документов Простой парсинг XML документов Нет поддержки XPath Поддержки XPath нету также в «классической» XML DOM для устройств

XDocument doc = new XDocument( new XElement(Users, new XElement(User, new XAttribute(type, user), new XElement(Name, Ivan), new XElement(Age, 20)), new XElement(User, new XAttribute(type, administrator), new XElement(Name, Oleg), new XElement(Age, 35)) );

XDocument doc = new XDocument( new XElement(Users, users.Select( u => new XElement(User, new XAttribute(type, u.UserType), new XElement(Name, u.Name), new XElement(Age, u.Age) ) ) );

Microsoft TechDays XNamespace XText XDocument XElement XAttribute XComment Методы сохранения и загрузки

Microsoft TechDays LINQ to XML

Microsoft TechDays Не поддерживается для.NET Compact Framework

Microsoft TechDays Не поддерживается для.NET Compact Framework

Microsoft TechDays Отчасти заменяет LINQ to SQL и позволяет работать с реляционными источниками AsEnumerable() – представление в виде коллекции Field ( column name ) – получение значения поля

DataTable table1 = GetTable(); var query = from t in table1.AsEnumerable() where t.Field (count) > 0 select t.Field (name); foreach (string t in query) { //.. }

Microsoft TechDays LINQ to DataSets

Microsoft TechDays Позволяет работать в рамках запроса или напрямую с таблицей Может использоваться для редактирования данных Options – Updatable, Scrollable,.. cmd.ExecuteResultSet(..)

SqlCeCommand cmd = new SqlCeCommand(); //.. var data = cmd.ExecuteResultSet(.. ); while (data.Read()) { var name = data.GetString(1); }

SqlCeCommand cmd = new SqlCeCommand(); //.. var data = from r in cmd.ExecuteResultSet(ResultSetOptions.Scrollable).OfType () select new {Name = r.GetString(1)}; foreach(var name in data) { //.. }

SqlCeCommand cmd = new SqlCeCommand(); //.. var data = cmd.ExecuteResultSet(ResultSetOptions.Scrollable).OfType ().Select(c => new { Name = c.GetString(1) }); foreach(var name in data) { //.. }

Microsoft TechDays ResultSet

Microsoft TechDays © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.