2017-06-01 10 views
8

Jestem programistą noobu i początkującym w C#, ale czytałem o Roslyn i "Co nowego w C# 7.0" i znalazłem coś bardzo interesującego, że nie mogę znaleźć odpowiedzi, której potrzebuję.Można napisać tylko WriteLine zamiast Console.WriteLine w języku C#?

W tym link, wszystkie podane przykłady zawierają coś podobnego WriteLine("something"); zamiast Console.WriteLine("something");, na przykład:

public void PrintCoordinates(Point p) 
{ 
    p.GetCoordinates(out int x, out int y); 
    WriteLine($"({x}, {y})"); 
} 

Moje pytanie brzmi: W jaki sposób można to zrobić?

Czy coś takiego działa?

public static void WriteLine(string v) => Console.WriteLine(v); 
+0

Powiedziałbym, że nie jest to związane z Roslyn, więc możesz chcieć usunąć tag. –

+0

Ok. Gotowe. Przepraszam za niedogodności. –

Odpowiedz

17

Spróbuj using static:

using static System.Console; 

... 

WriteLine("some text"); 
4

można użyć Action:

Action<string> WriteLine = (text) => Console.WriteLine(text); 
+0

Dzięki. Spróbuję to zaimplementować! –

6

Począwszy od C# 6.0, jest to możliwe:

using static System.Console; 

Jednak wcześniejsze wersje z C# nie mają statycznych importów.