class A
{
A()
{
var x = 5; // this is allowed
}
var _x = 5; // the compiler is unhappy
}
Supongo que el compilador debe poder deducir el tipo para la variable miembro de la misma manera que lo hace para la variable local. Entonces, ¿cuál es la diferencia?¿Por qué los campos de clase no pueden ser var?
porque no puede usar var de un método. No puede declarar una var global y dado que los constructores también son métodos, no obtiene el error. – Pabuc
@Pabuc: ¿De qué estás hablando? – SLaks
Creo que casi todas las explicaciones a continuación son basura, a excepción de las referencias fugaces a [la publicación de Lippert] (http://blogs.msdn.com/b/ericlippert/archive/2009/01/26/why-no-var- on-fields.aspx). La respuesta: porque es mucho trabajo dada la forma en que el compilador se construye hoy. Es un problema interno. –