sirve - utilice la palabra new para crear una instancia de objeto c#
Modificadores idempotentes en C# (1)
Es un error en el compilador, al menos en Roslyn versión 1.0.0.50618. De la sección 8.5.2 de la especificación C # 5:
Una declaración de constante local declara una o más constantes locales.
declaración-constante-local :
declaradores constantes de tipoconst
declaradores constantes :
declarador constante
constantes-declaradores,
constantes-declaradoresdeclarador constante : identificador
=
expresión constante
Como puede ver, esa gramática no permite
const const const bool flag = true;
.
He presentado un error contra Roslyn para que se pueda solucionar.
Noté que si escribo algo como:
static void Main(string[] args)
{
const const const bool flag = true;
}
El compilador no me advierte de las múltiples
const
.
Así que esto parece imitar a los modificadores de C, ya que son idempotentes.
Sin embargo, si escribo:
private readonly readonly int a;
El compilador me advierte de la
readonly
duplicada
readonly
.
Entonces, ¿qué está pasando aquí? ¿Los modificadores son idempotentes o no?
csc versión 1.0.0.50618