POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
(22.04.2009) Cumuy Presenta - Novedades en la plataforma de desarrollo .NET - PPT Machado
1. Entorno de Visual Studio Usar primero, declarar
Editor basado en WPF después
Soporte para múltiples Generación de código a
monitores mejorado partir del uso
MEF & CaaS Code insight
Navegación Call hierarchy
Quick Search Inline call tree
Highlight References Capas
Sistema de proyectos Código con formato rico
Compatible 100% con el Capas de información
código fuente contextual
Múltiples plataformas objetivo Mapa del documento
en el margen
Desarrollo web mejorado
Herramientas de JavaScript mejoradas
Snippets HTML
Nuevas herramientas MVC and Dynamic Data
Desarrollo web integrado
Desarrollo de C++ nativo
Experiencia del IDE mejorada
Soporte para computación paralela
Apariencia de MFC actualizada
Mejoras en ClickOnce para Office
Desarrollo en SharePoint mejorado
2. Más soporte a la plataforma
Depuración en 64-bits en modo mixto
Soporte a la depuración de minidumps en
modo mixto y manejado
Visualizador de WPF
Mejoras en los breakpoints
Grupos y etiquetas
Importar/exportar
Depuración histórica
Grabar y reproducir la ejecución de una
aplicación
Proyectos y procesos Calidad y testeo
Gestión de proyecto Estructura visual y
Servidor de proyecto comportamiento en
Integración con el cliente modelos UML y DSL
Herramientas de planificación Eliminación del problema “a
de proyectos livianas mi no me pasa”
Trazabilidad de los Herramientas de calidad T-
requerimientos SQL
Informes Mejoras en el testeo
Tableros de control Priorización de tests
individualizados Test manual
Proceso configurable Test funcional
Más amplia variedad de Gestión de casos de prueba
ejemplos de Microsoft y de la
comunidad
Camano
3. C# 4.0 VB X
Es a C# 4.0 lo que LINQ fue a C# 3.0 o
Generics fue a C# 2.0
Named/Optional Parameters Named/Optional Parameters
Tipos dinámicos
Dynamic Scoping Dynamic Scoping
Estructura y comportamiento desconocidos en
Statement Lambdas Statement Lambdas tiempo de compilación
Multiline Lambdas Multiline Lambdas Búsqueda dinámica
Auto-Implemented Properties Auto-Implemented Properties Resuelta en tiempo de ejecución
Collection Initializers Collection Initializers Falla en tiempo de ejecución
Generic Variance Generic Variance Parámetros con nombre y opcionales
Extension Properties Extension Properties ¿Recuerdan la transparencia anterior? Algo
bueno nos trajimos
Nuevo tipo de datos dynamic Objetos COM
dynamic d = GetDynamicObject(…);
Llamado dinámico a métodos
A través de IDispatch
d.MethodCall(…); Objetos dinámicos
Propiedades y propiedades indexadas dinámicas A través de IDynamicObject
d.Property = d.AnotherProperty;
d[“one”] = d[“two”]; Otros objetos
Operadores dinámicos Usando Reflection
int i = d + 3;
Invocación como delegados
Cómo funciona
string s = d(5,7); // Ivk as delegate dynamic d1 = new Foo();
Conversión de y hacia object dynamic d2 = new Bar();
dynamic d = 7; // implicit conversion string s;
int i = d; // assignment conversion d1.MethodCall(s, d2, 3, null);
Invocación dinámica en objetos dinámicos
dynamic d1 = new Foo();
dynamic d2 = new Bar();
string s;
d1.MethodCall(s, d2, 3, null);
Invocación dinámica en objetos comunes
Foo f = new Foo();
dynamic d = new Bar();
var result = foo.OverloadedMethod(d);
4. ¡Al fin!
Parámetros opcionales tienen un valor
predeterminado
public void M(int x, int y = 5, int z = 7);
M(1, 2, 3); // el de siempre
M(1, 2); // omitiendo z ídem M(1, 2, 7)
M(1); // omitiendo y and z ídem M(1, 5, 7)
Parámetros pasados por nombre
M(1, z: 3); // Pasando z por nombre
M(x: 1, z: 3); // Pasando x y z por nombre
M(z: 3, x: 1); // Cambiando el orden
string[] sa = new string[10]; string[] sa = new string[10];
object[] oa = sa; object[] oa = sa;
oa[0] = "Hello world!“; oa[0] = "Hello world!“;
oa[1] = 5; oa[1] = 5;
IEnumerable<string> sl = IEnumerable<string> sl =
new List<string>(); new List<string>();
IEnumerable<object> = ol; IEnumerable<object> = ol;
ol = sl; ol = sl;
5. IEnumerable<T> IEnumerable<out T>
{ {
IEnumerator<T> GetEnumerator(); IEnumerator<T> GetEnumerator();
} }
IEnumerator<T> IEnumerator<out T>
{ {
bool MoveNext(); bool MoveNext();
T Current { get; } T Current { get; }
} }
IComparer<T> IComparer<in T>
{ {
int Compare(T x, T, y); int Compare(T x, T, y);
} }
Descargar las máquinas virtuales de VS
2010
Incluyen Team System
Explorar las nuevas características del IDE
Es una beta
Explorar las nuevas características del
lenguaje