Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

303
Vistas
¿Por qué VS 2015 permite atributos separados por espacios mientras que VS 2017 no?

Tome el siguiente código simple. El método DoMyCode tiene dos atributos aplicados, con un espacio entre las entradas.

 using System; namespace AttributeSpaceTesting { class Program { static void Main(string[] args) { } [Horse Cow] static void DoMyCode() { } } [AttributeUsage(AttributeTargets.Method)] class HorseAttribute : Attribute { } [AttributeUsage(AttributeTargets.Method)] class CowAttribute : Attribute { } }

Esto se hizo en VS 2015 dirigido a .Net 4.6.

Si ejecuta este código en Visual Studio 2015 (actualización 3), se compilará y ejecutará sin errores ni advertencias.

Sin embargo, ejecutar exactamente el mismo código en Visual Studio 2017 producirá la siguiente excepción:

Error de sintaxis, ',' esperado

Entiendo por qué ocurre este error. Espero que necesite comas entre los elementos de atributo. En la sección 17.2 de las especificaciones de C# 5:

Una sección de atributos consta de un par de corchetes que rodean una lista separada por comas de uno o más atributos.

Entonces, ¿por qué esta sintaxis es legal en VS 2015?


Para un contexto completo, estoy experimentando con el uso de VS 2017 en los proyectos de prueba de unidad de mi equipo. He notado líneas como esta:

 [Description(@"The Test Description")] [TestCategory("Regression"), TestCategory("Module"), TestCategory("ModuleRegression") TestMethod] public void TC_12345_VerifyTheThingWorks()

que causan errores de sintaxis cuando se compilan en el nuevo sistema de Visual Studio.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Gracias a Hans Passant que compartió esta información.

Parece que esto fue de hecho un error con el compilador roslyn . Se informó en octubre de 2016, mucho después del último lanzamiento de VS 2015 en junio del mismo año.

Esta solución llegó a Visual Studio 2017, por lo que esta sintaxis se notifica correctamente como un error.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda