C# - Jorge Serrano - MVP Visual Developer - Visual Basic

Ver por etiquetas

Todas las etiquetas » C# (RSS)

Validando sin parar. Uso de DataAnnotations

Introducción Como pasa en muchos casos, el otro día me encontraba haciendo pruebecillas e implementando diferentes procesos de validación en Dtos y entidades. Al finalizar mis pruebas, el resultado de todo es un conjunto de clases que hacía justo lo que quería respecto a las validaciones. Decoraba mis clases y/o miembros como deseaba, y en base a esa decoración, ejecutaba el proceso de validación que me permitía obtener qué miembros no...

Patrón Interfaz Marcadora (II)

Introducción En la entrada anterior , vimos en qué consistía el Patrón Interfaz Marcadora y cómo usarlo a través de interfaces. En esta entrada vamos a ver cómo implementar el Patrón Interfaz Marcadora a través de atributos. Implementación del Patrón Interfaz Marcadora con atributos Lo primero que debemos hacer es crear una clase que actúe como atributo con el cuál decorar una clase con el fin de hacerla del...
Posted por Jorge Serrano | 4 comment(s)
Archivado en: ,

Patrón Interfaz Marcadora (I)

Segunda parte de esta entrada: Patrón Interfaz Marcadora (II) Introducción Uno de los patrones más desconocidos en general y no por ello infrautilizado, es el Patrón de Interfaz Marcadora o Marker Interface Pattern . En .NET tenemos dos formas de implementar este patrón. En esta primera entrada sobre este patrón veremos una de estas formas. ¿Qué es el Patrón Interfaz Marcadora? Lo primero de todo es entender bien qué es o en qué...
Posted por Jorge Serrano | 7 comment(s)
Archivado en: ,

Utilizando fuentes personalizadas en nuestras aplicaciones de Windows Phone 7

Introducción Cuando desarrollamos una aplicación de Windows Phone 7 normalmente utilizaremos las fuentes de letra habituales instaladas en nuestro sistema y que serán utilizadas por Windows Phone en tiempo de ejecución. Si Windows Phone no tiene o no encuentra esa fuente de letra, utilizará la Segoe WP, pero imaginémonos que queremos utilizar una fuente de letra personalizar en nuestra aplicación, ¿cómo podemos hacerlo?. Iniciando el...

Checked y Unchecked en cálculos numéricos con C#

Introducción En esta entrada y a colación de una breve pero interesante discusión en Twitter acerca del uso de int.MaxValue , se me pasó por la cabeza hacer esta entrada que profundiza un poco más de lo que la propia discusión sobre int.MaxValue podría sugerir, y es que aprovechando la instrucción comentada, me acordé de algunas particularidades en C# que muchas veces pasan desapercibidas y que quizás convenga mencionar o recordar...

Objetos Singleton, Objetos Transient y Persistencia de objetos - Lo que un Dummy debe saber

Introducción Continuando con las entradas tipo Dummies , vamos con otra. En esta ocasión le toca el turno al patrón Singleton y a Transient , que a veces escuchamos o podemos escuchar y que nos deja un poco fuera de juego, pero como veremos, no es ninguna idea nueva maléfica ni nada por el estilo. Finalmente, comentaré de forma muy breve algún detalle sobre Persistencia simplemente para tenerlo ahí en la mente. ¡Vayamos allá!. Singleton...

Clase base, interface y clase abstracta, ¿amigas o enemigas? - Lo que un Dummy debe saber

Introducción En esta ocasión, me gustaría tratar aspectos relacionados con la programación orientada a objetos y algunos aspectos básicos generales. Tengo en mente escribir (y si el tiempo me lo permite) unas cuantas entradas relacionadas con diferentes temas, pero debo empezar por algún sitio, y he creído conveniente hacerlo por la base de todos ellos, así que empiezo por esta para que los diferentes conocimientos que quiero o persigo explicar...

Usando System.Collections.Concurrent.ConcurrentBag

Introducción: Hoy voy a hablar de un namespace que fué introducido en .NET Framework 4.0 y del cual no he oído hablar mucho, me refiero a System.Collections.Concurrent. Antes de hablar de este namespace imaginemos la siguiente situación: Tenemos una caja dentro de la cual vamos colocando diferentes elementos uno detrás de otro, si bien, el orden en el que llegan esos elementos no es en este caso lo más importante para nosotros. Ahora imaginemos varios procesos...

My C# Style Sheet

Abstract This is my own style sheet about C#. To prepare this document, I have used the help file of StyleCop v4.5, the Juval Lowy's recommendations and my own experience with .NET applications. Note that this document is a personal document that I have used succesfully in the last years, and with this guide you will be prepared to generate the chm help file of the project with SandCastle. I know that each software team has their own particular form to apply their naming code. Here is my own...

Versión 1.0 de las plantillas de C# para Interop Windows Forms y Visual Studio 2010

Durante la última sesión de MADNUG en la que tratamos el escabroso tema de la migración de aplicaciones VB6 a .NET, surgió la posibilidad de crear proyectos con .NET que podrían ser cargados desde VB6. Esto es posible gracias a Microsoft Interop Forms Toolkit 2.1 . Como solución tipo puente está bien para resolver algunas funcionalidades concretas que demandan algún ajuste en nuestras aplicaciones de VB6 pero que no nos obligan a migrar el proyecto...

C# Language Specification 4.0

Microsoft ha liberado la versión final de C# Language Specification 4.0, o lo que es lo mismo, la especificación del lenguaje C# 4.0 (.NET Framework 4.0 y Visual Studio 2010). El documento escrito en inglés que encontrarás en formato Microsoft Word (doc) contiene 505 páginas. También está disponible en formato htm. En el documento se recogen las novedades y las reglas del lenguaje. El acceso directo al documento de Word lo encontrarás en este...

Los 101 ejemplos de C# para Visual Studio 2010

Microsoft ha publicado una extensa batería de ejemplos, ampliamente conocida, pero para Visual Studio 2010 RTM. Los ejemplos pueden ser localizados en el siguiente enlace . En el siguiente enlace , podréis encontrar una breve descripción de casda ejemplo separado por temática.
Posted por Jorge Serrano | 4 comment(s)
Archivado en: ,

Trabajando con fechas y horas locales y fechas y horas UTC en .NET

Cuando trabajamos con fechas, nos vemos muchas veces empujados a trabajar con la fecha/hora del sistema local. Sin embargo, en muchas ocasiones, nos podemos encontrar con la necesidad de trabajar con la fecha/hora UTC partiendo de nuestra fecha/hora local. Mucha gente, prefiere trabajar con fechas/horas UTC en lugar de las fechas/horas locales, y no les falta razón. Imaginemos una aplicación Software distribuida internacionalmente en Ecuador y Madrid. La diferencia horaria es de 7 horas...

Cursos y documentación de referencia para eventos

Me llega una información de Lisa Feigenbaum (Program Manager de Microsoft) de un repositorio de cursos, tutoriales, laboratorios, ejemplos en C# y VB.NET y videos sobre diferentes tecnologías de Microsoft, incluyendo Visual Studio y .NET Framework. Este material puede ser utilizado en eventos, charlas o incluso code-camps, como por ejemplo el futuro Code-Camp de Tarragona 2009 del que espero que te hayas apuntado. Las casi 40 presentaciones están en inglés y han sido recopiladas...

Compilación bajo demanda en C#. Generación y compilación de código dinámicamente.

Introducción Con el CLR 2.0, y en su caso desde la aparición de Microsoft .NET Framework 2.0, tenemos la posibilidad de hacer uso en C# de un namespace de nombre Microsoft.CSharp . Un nombre de espacio que en muchas ocasiones pasa por desapercibido para el programador y que podría resolvernos un sinfin de problemas en determinadas situaciones concretas. Dentro de esta librería, encontraremos tres clases, dos de ellas obsoletas y de nombres Compiler y CompilerError , y...

C# no es tan difícil...

Si eres de esas personas que se sienten un poco negadas para aprender programación o C#, incluso leyendo libros y demás, comentarte que nunca es tarde para intentar romper el mito. En el enlace que os pongo al final de la entrada, accedereis a un sitio Web en inglés, enfocado a enseñarnos C# como si fuéramos chavales. La idea es la de explicarnos el lenguaje con dibujos y explicaciones menos enrevesadas que nos ayuden a comprender mejor el lenguaje. Son 5 interesantes...
Posted por Jorge Serrano | 3 comment(s)
Archivado en:

Libro electrónico sobre C# gratis

Aunque esto tiene ya un poco más de 2 meses, creo que podría resultar de alto interés para aquellas personas que quieren aprender C#. Rob Miles, de la Universidad de Hull, publicó a finales del 2008 dos libros en inglés y formato pdf sobre C# que denominó como C# Orange Book y C# Yellow Book. El primero de los dos libros está pensado para aquellos programadores que vienen del mundo Java. Son 24 páginas básicas que servirán para...

Herramienta indispensable :: Framework Design Studio

De pequeñito quería ser como Krzysztof Cwalina ,... bueno, igual exagero un poco, pero es que el bueno de Krzysztof ha publicado una herramienta de esas que yo catalogo como indispensables y que siempre he querido tener,... algo así como una de esas herramientas que deben estar siempre en un memory stick como me ocurre con .NET Reflector. Con esta herramienta podremos comparar dos ensamblados para examinar sus diferencias, no solo las partes que han sido agregadas, sino también las partes eliminadas...

LINQ HOL para C# 3.0

Ya os indicaba hace algunas fechas que los HOL sobre LINQ (Visual Studio 2008) han hecho su aparición. En aquella ocasión, os anunciaba los LINQ HOL (Hands On Labs) para Visual Basic 2008, es decir, laboratorios introductorios a LINQ para Visual Basic 2008. Ahora le llega en turno a los HOL de C#. Espero que os resulten útiles. Se trata de un documento en formato Microsoft Word 2007 de aproximadamente 30 páginas, que podréis obtener desde el siguiente enlace . Adicionalmente y sobre LINQ, también...
Posted por Jorge Serrano | 9 comment(s)
Archivado en:

Publicada la especificación del lenguaje de C# 3.0

C# 3.0 Microsoft ha publicado la especificación del lenguaje C# 3.0. La especificación está recogida en este enlace , aunque si queremos, podemos acceder a su descarga directa. La descarga directa de la especificación se encuentra en un documento Microsoft Word, de apenas 2.3 Mb, y que contiene más de 500 páginas de información, toda ella en inglés. Para acceder a la descarga directa, haced clic en este enlace .