web-dev-qa-db-fra.com

importations statiques en c #

C # a-t-il des fonctionnalités telles que 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.

52
IAdapter

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 # bien que vous ayez méthodes d'extension quel genre d'imiter cela.

12
Darin Dimitrov

C # 6.0 sous Roslyn Platform prend en charge l'importation statique . Il nécessite une déclaration comme:

using static System.Console;

donc le code pourrait ressembler à:

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

La version précédente prévue pour C # 6.0 avait une importation statique sans static mot-clé.

Pour d'autres nouvelles fonctionnalités de C # 6.0, voir: Nouvelles fonctionnalités de langage en C # 6

5
Habib