52 votes

importations statiques en c #

C # a-t-il des fonctionnalités comme les importations statiques de Java?

donc au lieu d'écrire du code comme

 FileHelper.ExtractSimpleFileName(file)
 

Je pourrais écrire

 ExtractSimpleFileName(file)
 

et le compilateur saurait que je veux dire la méthode de FileHelper.

86voto

Oded Points 271275

Non, C # n'a pas d'importations statiques.

Vous pouvez vous rapprocher d'un alias pour le type.

 using FH = namespace.FileHelper;

// in a member
FH.ExtractSimpleFileName(file)
 

Alternativement, changez la méthode statique en une méthode d'extension sur le type - vous seriez alors en mesure de l'appeler comme:

 var value = file.ExtractSimpleFileName();
 

12voto

Darin Dimitrov Points 528142

Non, une telle fonctionnalité n'existe pas en C #. Vous devez spécifier la classe à laquelle appartient la méthode statique, sauf si vous êtes déjà dans une méthode de cette même classe.

En C #, cependant, vous avez des méthodes d'extension qui imitent cela.

5voto

michielvoo Points 15413

Le temps passe ... il semble que C # puisse obtenir des importations statiques dans la prochaine version, voir http://msdn.microsoft.com/en-us/magazine/dn683793.aspx pour un aperçu.

 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 documentation officielle du compilateur C # de «Roslyn» répertorie la fonctionnalité comme «terminée»

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X