Pregunta

Estoy utilizando StyleCop para ReSharper en un proyecto escrito originalmente para .NET v2. Pero desde entonces he actualizado este proyecto de 3,5 marco.

StyleCop está recomendando cambio la mayor parte de mis variables de tipo explícito a mecanografiadas de forma implícita por ejemplo:

string - var

costumbre tipo fuerte - var

¿Es este el camino a seguir cuando se trabaja con un proyecto .NET 3.5. Parece inusual que declara todo como var.

No dude en actualizar el título de la pregunta si mi terminología está fuera ...

¿Fue útil?

Solución

Los que no son genéricos, esas son las variables implícitamente mecanografiadas. Esto es realmente en gran medida una cuestión de gusto. Hay lugares donde se puede excederse en el uso de var y hay lugares donde es muy claramente necesario (piensan los tipos anónimos) por lo que acaba de encontrar el lugar en el medio que se adapte a usted (y su equipo) la preferencia.

Otros consejos

sido objeto de debate en muchos lugares, y es cuestión de gustos. Comparar estas dos líneas de código:

StringBuilder stringBuilder = new StringBuilder();
var stringBuilder = new StringBuilder();

¿Qué prefieres?

Tener un vistazo a este

var (Referencia de C #) y

Las variables locales

Implícitamente con tipo (C # Guía de programación)

  

Una variable local es implícitamente mecanografiado   inflexible al igual que si tuviera   declarado a sí mismo el tipo, pero el   compilador determina el tipo.

También echar un vistazo a de palabra clave var en C #

C # Debate: ¿Cuándo se debe utilizar var?

Creo que es más bien una sugerencia y se debe considerar, pero no necesariamente aplicado plenamente.

Mientras personal creo que el mejor uso de var es cuando el tipo de declarar / regresar es obvio, es decir:

var temp = "Test me now";

frente

var temp = GetTestData();

También me gusta mucho estar en condiciones de declarar tipos genéricos con menos código:

    var test = new Dictionary<string,string>();

frente

    Dictionary<string, string> test = new Dictionary<string,string>();

var es bastante importante cuando se utiliza, por ejemplo, tipos anónimos ...

var cees = from c in Customers select new { c.Name, c.Birthdate };

ReSharper sugerirá cambiar todo a var. Para las definiciones obvias como

var c = new Customer();

Me gusta usarlo. por alguna llamada a la API que puede anotar el tipo de forma explícita:

Customer c = repository.Get(1);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top