0
我遇到了一個指派來裝飾Console類(在C#中),並在Write和WriteLine方法中實現一些自定義的東西。我不知道如何裝飾一個控制檯,主要是因爲它是靜態的(並且沒有繼承,只能從System.Object中獲取),所以我不知道如何裝飾控制檯。C#裝飾控制檯類
那麼這裏有什麼可能?
謝謝! 盧卡斯
我遇到了一個指派來裝飾Console類(在C#中),並在Write和WriteLine方法中實現一些自定義的東西。我不知道如何裝飾一個控制檯,主要是因爲它是靜態的(並且沒有繼承,只能從System.Object中獲取),所以我不知道如何裝飾控制檯。C#裝飾控制檯類
那麼這裏有什麼可能?
謝謝! 盧卡斯
,可隨時更換流Console
寫入和讀取使用Console.SetOut(TextWriter)
,Console.SetIn(TextReader)
和Console.SetError(TextWriter)
。只需創建自定義的TextWriter
或TextReader
類,即可完成裝飾器行爲並將其分配給靜態方法。
public static void Main()
{
TextWriter oldOut = Console.Out;
TextWriter decorator = new MyCustomDecorator(oldOut);
Console.SetOut(decorator);
//Do stuff;
}