what visual variable net namespace librerias java c# .net static-import

java - variable - visual c# using



importaciones estáticas en c# (4)

A partir de C # 6.0, esto es posible:

using static FileHelper; // in a member ExtractSimpleFileName(file)

Sin embargo, las versiones anteriores de C # no tienen importaciones estáticas.

Puedes acercarte con un alias para el tipo.

using FH = namespace.FileHelper; // in a member FH.ExtractSimpleFileName(file)

Alternativamente, cambie el método estático a un método de extensión en el tipo; luego podrá llamarlo como:

var value = file.ExtractSimpleFileName();

¿C # tiene características como las importaciones estáticas de Java?

así que en lugar de escribir código como

FileHelper.ExtractSimpleFileName(file)

Yo podria escribir

ExtractSimpleFileName(file)

y el compilador sabría que me refiero al método de FileHelper.


C # 6.0 en Roslyn Platform admite la importación estática . Requiere una declaración como:

using static System.Console;

para que el código se vea como:

using static System.Console; namespace TestApplication { class Program { static void Main(string[] args) { WriteLine("My test message"); } } }

La versión planificada anterior para C # 6.0 tenía importación static sin palabra clave static .

Para otras características nuevas en C # 6.0, consulte: Nuevas características de lenguaje en C # 6


El tiempo avanza ... parece que C # podría obtener importaciones estáticas en la próxima versión, consulte http://msdn.microsoft.com/en-us/magazine/dn683793.aspx para obtener una vista previa.

using System; using System.Console; // using the Console class here public class Program { public static void Main() { // Console.WriteLine is called here WriteLine("Hello world!"); } }

La documentación oficial para el compilador de C # ''Roslyn'' enumera la característica como ''hecho''


No, tal característica no existe en C #. Debe especificar la clase a la que pertenece el método estático a menos que ya esté dentro de un método de esta misma clase.

En C #, aunque tienes métodos de extensión que imitan esto.