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

403
Visualizações
¿Cómo uso la función "Uso estático" de C#6?

Estoy echando un vistazo a un par de características nuevas en C# 6, específicamente, "usando estática" .

using static es un nuevo tipo de cláusula de uso que le permite importar miembros estáticos de tipos directamente al alcance.
(Parte inferior de la entrada del blog)

La idea es la siguiente, según un par de tutoriales que encontré,
En vez de:

 using System; class Program { static void Main() { Console.WriteLine("Hello world!"); Console.WriteLine("Another message"); } }

Puede omitir la declaración repetida de la Console , usando la nueva característica de C# 6 de usar clases estáticas:

 using System.Console; // ^ `.Console` added. class Program { static void Main() { WriteLine("Hello world!"); WriteLine("Another message"); } // ^ `Console.` removed. }

Sin embargo, esto no parece estar funcionando para mí. Recibo un error en la declaración de using , diciendo:

"Una directiva ' using namespace ' solo se puede aplicar a espacios de nombres; ' Console ' es un tipo, no un espacio de nombres. Considere una directiva ' using static ' en su lugar"

Estoy usando Visual Studio 2015 y tengo la versión del lenguaje de compilación configurada en "C# 6.0"

¿Lo que da? ¿Es incorrecto el ejemplo del blog de msdn? ¿Por qué no funciona esto?


La publicación del blog ahora se actualizó para reflejar las últimas actualizaciones, pero aquí hay una captura de pantalla en caso de que el blog se caiga:

Blog

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

0

Parece que la sintaxis ha cambiado ligeramente desde que se escribieron esas publicaciones de blog. Como sugiere el mensaje de error, agregue static a su declaración de inclusión:

 using static System.Console; // ^ class Program { static void Main() { WriteLine("Hello world!"); WriteLine("Another message"); } }

Luego, su código se compilará.


Tenga en cuenta que, en C# 6.0, esto solo funcionará para los miembros declarados como static .

Por ejemplo, considere System.Math :

 public static class Math { public const double PI = 3.1415926535897931; public static double Abs(double value); // <more stuff> }

Al using static System.Math , solo puede usar Abs(); .
Sin embargo, todavía tendría que prefijar PI porque no es un miembro estático: Math.PI; .

A partir de la versión 7.2 de C#, este no debería ser el caso, también se pueden usar valores const como PI .

over 4 years ago · Santiago Trujillo Relatório

0

La palabra clave static en una declaración de using importará solo el tipo especificado (y sus tipos anidados). Además, ya no debe dar el nombre del tipo. Así que solo agregue estática a su uso.

Nota: utilice esta función solo cuando las dos clases estén lógicamente relacionadas, de lo contrario, dificultará bastante la lectura del código.

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