C#にはJavaの静的インポートのような機能がありますか?静的インポートのC#
ので、代わりに
FileHelper.ExtractSimpleFileName(file)
のようなコードを書くの私は
ExtractSimpleFileName(file)
とコンパイラを書くことができ、私はFileHelperからの方法を意味することを知っているであろう。
C#にはJavaの静的インポートのような機能がありますか?静的インポートのC#
ので、代わりに
FileHelper.ExtractSimpleFileName(file)
のようなコードを書くの私は
ExtractSimpleFileName(file)
とコンパイラを書くことができ、私はFileHelperからの方法を意味することを知っているであろう。
これが可能である、C#6.0で開始:
using static FileHelper;
// in a member
ExtractSimpleFileName(file)
しかし、C#の以前のバージョンでは、静的な輸入品を持っていません。
型のエイリアスを閉じることができます。
using FH = namespace.FileHelper;
// in a member
FH.ExtractSimpleFileName(file)
また、タイプにextension methodへの静的メソッドを変更する - あなたはその後、としてそれを呼び出すことができるようになります。
var value = file.ExtractSimpleFileName();
いいえ、このような機能はC#では存在しません。この同じクラスのメソッドの内部にいなければ、静的メソッドが属するクラスを指定する必要があります。
あなたはextension methodsこれを模倣していますが、C#ではあります。
時間は上の行進... C#は静的得るかもしれないように見えます次のバージョンでインポートします。http://msdn.microsoft.com/en-us/magazine/dn683793.aspxをプレビューしてください。ロザリンプラットフォームsupports Static import下
JackはNimble、Jack be Quick ... C#static usings! この機能について私がどれほど興奮しているかを表現することはできません。私はこの表現力が何年も語り継がれることを熱心に待っていましたが、私はその日を見ることは決して予想されませんでした。 –
C#6.0 'なさ' として 'Roslynの' C#コンパイラのための
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!");
}
}
official documentationは機能が一覧表示されます。それは次のように声明を必要とします。
using static System.Console;
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
WriteLine("My test message");
}
}
}
C#6.0はstatic
キーワードを指定せずに、静的インポートを持っていたため、以前の計画バージョンを:
using static System.Console;
ので、コードは次のようになります。 C#6.0を参照のその他の新機能については
可能性のある重複した[クラスを参照せずに静的クラスのメソッドを参照することが可能ですか?](http://stackoverflow.com/questions/30671769静的クラスのメソッドを参照せずに参照できるようにすることが可能です。 –