[CodeSnipeet] Usar el atributo Obsolete (.NET: ObsoleteAttribute Class)

by starrillo 7. December 2011 17:38

Entre cada versión de un producto, siempre puede ocurrir la mejora de alguna clase o método creando una versión con un nuevo nombre, pero también existe el tema de afectar lo menos posible a aplicaciones que usen la versión antigua. Es como usar la clase ConfigurationSettings.AppSettings en .Net 2.0, cuando podemos usar ConfigurationManager.AppSettings, siempre encontramos esos códigos que dices después lo cambio que por temas de tiempo todavía no se han podido actualizar.

El uso del atributo Obsolete, además de ser útil cuando distribuimos librerías a terceros, también podemos usarla en nuestros equipos internos. Siempre debemos tratar de que el código sea mantenible independiente del desarrollador actual, ¿cómo le decimos al siguiente desarrollador?: “Tío no uses este método, usa este nuevo método, no borre al anterior porque tengo miedo que no funcione la aplicación, si quieres tu lo puedes borrar”. Usando el atributo Obsolete.

¿Cómo podemos usar el atributo Obsolete?

 1: [Obsolete]
 2: [Obsolete("BuildPostList was disabled in BEv2.5")]
 3: [Obsolete("BuildPostList was disabled in BEv2.5", true)]
 4: private static void BuildPostList()
 5: {
 6:     var number = Math.Min(BlogSettings.Instance.NumberOfRecentPosts, Post.Posts.Count);
 7:  
 8:     Posts.Clear();
 9:     foreach (var post in Post.Posts.Where(post => post.IsVisibleToPublic).Take(number))
 10:     {
 11:         Posts.Add(post);
 12:     }    
 13: }

Podemos usarlo en tres versiones, la primera sólo indica que el método esta obsoleto, la segunda además de mostrar un mensaje de obsoleto muestra un mensaje personalizado, y la tercera además del mensaje muestra un error en tiempo de compilación:

Saludos,

Tags: , ,

CodeSnippets

Comments are closed

Month List

Calendar

<<  March 2023  >>
MoTuWeThFrSaSu
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

View posts in large calendar