[英]C# Decorating Console class
我遇到了一個裝飾控制台類(在C#中),並在Write和WriteLine方法中實現一些自定義內容的任務。
我對裝飾流以提供其他功能沒有任何問題,但是我不知道如何裝飾控制台,主要是因為它是靜態的(並且沒有繼承,僅繼承自System.Object)。
那么,這里有什么可能性?
謝謝! 盧卡斯
您可以使用Console.SetOut(TextWriter)
, Console.SetIn(TextReader)
和Console.SetError(TextWriter)
替換Console
寫入和讀取的流。 只需創建實現裝飾器行為的自定義TextWriter
或TextReader
類,並將它們分配給靜態方法即可。
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.