C#에는 Java 정적 가져 오기 기능이 있습니까? 내가C에서 정적 가져 오기
ExtractSimpleFileName(file)
을 쓸 수 및 컴파일러 내가 FileHelper에서 방법을 의미하는 것을 알 것이다
FileHelper.ExtractSimpleFileName(file)
처럼
그래서 대신 코드를 작성.
C#에는 Java 정적 가져 오기 기능이 있습니까? 내가C에서 정적 가져 오기
ExtractSimpleFileName(file)
을 쓸 수 및 컴파일러 내가 FileHelper에서 방법을 의미하는 것을 알 것이다
FileHelper.ExtractSimpleFileName(file)
처럼
그래서 대신 코드를 작성.
이 가능합니다 :
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#에는 존재하지 않습니다. 정적 클래스가 이미 같은 클래스의 메소드 안에 있지 않으면 클래스를 지정해야합니다.
C#에서는이 것을 모방 한 extension methods이 있지만. C# 6.0을 시작으로
시간이 흘러 가면서 ... C#을 정적 얻을 수있는 것 같습니다 다음 버전에서 가져 오기, http://msdn.microsoft.com/en-us/magazine/dn683793.aspx 미리보기를 참조하십시오. 로슬린 플랫폼 supports Static import에서
Jack은 민첩해야하며 Jack은 C# 정적 사용과 함께 Quick! 나는이 기능에 대해 얼마나 감동적인지 표현할 수 없습니다. 나는이 표현력이 수년간 언어에 들어가기를 간절히 기다렸지 만, 그날을 볼 것으로는 결코 예상하지 못했습니다. –
C# 6.0 '완료'로
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!");
}
}
'로슬린'C# 컴파일러에 대한 official documentation
는 기능을 나열합니다.static
키워드없이 정적 수입
했다 using static System.Console;
namespace TestApplication
{
class Program
{
static void Main(string[] args)
{
WriteLine("My test message");
}
}
}
초기의 계획 버전 6.0 C 번호 :
using static System.Console;
그래서 코드가 같을 수 있습니다 것처럼 문을 필요로한다. C#에서 다른 새로운 기능 6.0 참조 [? 가능 클래스를 참조하지 않고 정적 클래스의 메소드를 참조하는 것입니다]의
가능한 중복 (http://stackoverflow.com/questions/30671769 static-class-without-referencing-the-c-reference)에 대한 참조가 가능합니다. –