Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

309
Visualizações
¿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.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

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.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda