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/

This entry was posted in 1389, 5374. Bookmark the permalink.

2 Responses to Lo nuevo de C Sharp (Parte 1)

  1. ivan_smash says:

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

  2. EDWIN says:

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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>