簡體   English   中英

C#裝飾控制台類

[英]C# Decorating Console class

我遇到了一個裝飾控制台類(在C#中),並在Write和WriteLine方法中實現一些自定義內容的任務。

我對裝飾流以提供其他功能沒有任何問題,但是我不知道如何裝飾控制台,主要是因為它是靜態的(並且沒有繼承,僅繼承自System.Object)。

那么,這里有什么可能性?

謝謝! 盧卡斯

您可以使用Console.SetOut(TextWriter)Console.SetIn(TextReader)Console.SetError(TextWriter)替換Console寫入和讀取的流。 只需創建實現裝飾器行為的自定義TextWriterTextReader類,並將它們分配給靜態方法即可。

public static void Main()
{
    TextWriter oldOut = Console.Out;
    TextWriter decorator = new MyCustomDecorator(oldOut);
    Console.SetOut(decorator);

    //Do stuff;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM