Angel "Java" Lopez

NET, Java, PHP y Desarrollo de Software

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

.NET

ASP.NET

Windows Form

VB.NET

C#

Sitios

Blogs

Lo nuevo de C Sharp (Parte 1)

Quería comentar brevemente, algunas novedades en C Sharp, que aparecen en su nueva versión. Escribí un proyecto en VS 2008 Beta 2, que pueden bajar desde CSharpNew1.zip.

En una clase, ahora podemos definir directamente las propiedades, sin necesidad de poner las variables: son las propiedades implícitas (implicit properties):

1 public class Supplier 2 { 3 public int SupplierId { get; private set; } 4 5 public string Name { get; set; } 6 public string City { get; set; } 7 8 public Supplier(int Id) 9 { 10 SupplierId = Id; 11 } 12 }

Podemos crear objetos y especificar sus propiedades, en el mismo comando:

1 List<Supplier> suppliers = 2 new List<Supplier> { 3 new Supplier(1) { Name = "John Madison", City = "Washington" }, 4 new Supplier(2) { Name = "Ann Arbor", City = "Ohio" }, 5 new Supplier(3) { Name = "Don Johnson", City = "Miami" } 6 };

Podemos crear objetos implícitos, sin especificar una clase, solamente basta especificar las propiedades que tenga:

 

1 var c = new { Name = "John Doe", City = "Everywhere" }; 2 3 Console.WriteLine("{0} lives in {1}", c.Name, c.City); 4

A veces, queremos extender la funcionalidad de alguna clase ya armada, con nuevos métodos. En una clase estática, escribimos métodos que reciban un nuevo tipo de parámetro this

1 public static class Extensions 2 { 3 public static void Print(this Supplier supplier) 4 { 5 Console.WriteLine("Supplier {0} {1}", supplier.SupplierId, supplier.Name); 6 } 7 } 8

Esto permite aplicar a todos los objetos de la clase Supplier el nuevo método definido:

1 foreach (Supplier supplier in suppliers) 2 supplier.Print();

Esta característica es usada en gran parte de .NET 3.x, especialmente en LINQ, para extender la funcionalidad de listas y clases ya existentes en el framework.

Capacidades similares (no iguales) tenemos en el nuevo VB.Net.

Gracias a la gente de Southworks y al equipo Tamesis por la ayuda brindada para este post.

Espero escribir sobre otras funcionalidades, de ambos lenguajes. También tengo pendiente escribir sobre Java 6.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com/

Published Wed, Aug 29 2007 18:35 by lopez

Filed under: ,

Comments

# re: Lo nuevo de C Sharp (Parte 1)@ Thursday, January 10, 2008 12:08 AM

hey k tal 'Java'  una pregunta  sobre las definir propiedades,  ahora para los geters y seters, por default son  publicos?

ivan_smash

# re: Lo nuevo de C Sharp (Parte 1)@ Tuesday, March 04, 2008 4:50 PM

COMO HACER UN PROGRAMA EN C SHARP PARA GENERAR UN CUESTIONARIO QUE CONTENGA 20 PREGUNTAS Y LAS 20 PREGUNTAS ALMACENADAS EN UN ARRAY LIST

EDWIN

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: