Code Analysis

19/05/2008 - 11:15 por Angel g. | Informe spam
Hola,

Estaba pasando el code analysis, y me encuentro con una regla que me sale
mucho, dónde se dice que marque como estáticos todos aquellos métodos que no
hacen uso de ningún campo privado de la clase.

Nunca me había parado en pensarlo, pero ahora veo que tiene sentido.
Por norma, marcais como estáticos estos métodos? y, si aparecen muchos,
puede ser debido a un mal diseño de la clase? Qué pensais?

Grácias.
 

Leer las respuestas

#1 Alberto Poblacion
19/05/2008 - 11:54 | Informe spam
"Angel g." wrote in message
news:%
Estaba pasando el code analysis, y me encuentro con una regla que me sale
mucho, dónde se dice que marque como estáticos todos aquellos métodos que
no hacen uso de ningún campo privado de la clase.

Nunca me había parado en pensarlo, pero ahora veo que tiene sentido.
Por norma, marcais como estáticos estos métodos?



Sí, normalmente si el método no usa variables de clase, tiene sentido
marcarlo como estático, y así se le pueden hacer llamadas sin necesidad de
instanciar la clase.

y, si aparecen muchos, puede ser debido a un mal diseño de la clase? Qué
pensais?



No hay problema. Es perfectamente lícito que aparezcan muchos. Por
ejemplo, imagínate una clase con funciones matemáticas llamada "Math" que
tenga funciones como "Seno", "Coseno", etc. Tiene perfecto sentido que sean
estáticas, para poderlas llamar como Math.Seno, Math.Coseno, etc. Y podría
haber en la clase cientos de funcionies de este tipo. De hecho, hasta tal
punto es frecuente, que a partir de la versión 2.0 de C#, se puede poner la
palabra "static" en la definición de la clase para indicarle al compilador
que TODOS los métodos de esa clase son estáticos, y que dé un error de
compilación si se añade alguno que NO lo sea.

Preguntas similares