Jestem fanem metod rozszerzenia w języku C #, ale nie udało mi się dodać metody rozszerzenia do klasy statycznej, takiej jak konsola.
Na przykład, jeśli chcę dodać rozszerzenie do konsoli o nazwie „WriteBlueLine”, aby móc przejść:
Console.WriteBlueLine("This text is blue");
Próbowałem tego, dodając lokalną, publiczną metodę statyczną, z konsolą jako parametrem „to” ... ale żadnych kości!
public static class Helpers {
public static void WriteBlueLine(this Console c, string text)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(text);
Console.ResetColor();
}
}
Nie dodało to metody „WriteBlueLine” do konsoli ... czy robię to źle? Czy prosić o niemożliwe?
Helpers.WriteBlueLine(null, "Hi");
:)