C# 如何使用自己的类进行Console.WriteLine重写?

C# 如何使用自己的类进行Console.WriteLine重写?,c#,overriding,C#,Overriding,我希望我的ConsoleEngine类处理Console.WriteLine()方法。如何准备ConsoleEngine类以重写WriteLine()方法?您可以创建一个派生自TextWriter的类: public class MyWriter : TextWriter { public override void Write(char value) { //Do something, like write to a file or something

我希望我的
ConsoleEngine
类处理
Console.WriteLine()
方法。如何准备ConsoleEngine类以重写
WriteLine()
方法?

您可以创建一个派生自
TextWriter
的类:

public class MyWriter : TextWriter
{
    public override void Write(char value)
    {
        //Do something, like write to a file or something
    }

    public override void Write(string value)
    {
        //Do something, like write to a file or something
    }

    public override Encoding Encoding
    {
        get 
        {
            return Encoding.ASCII;
        }
    }
}
并将
控制台
输出设置为该类的实例:

Console.SetOut(new MyWriter());

编写一个包装类,并在其中调用控制台方法。。。。无需重写方法…他不想在控制台中输出,而是使用console.write()命令将内容输出到其他地方如果重写
void write(char值)
方法,则无需重写
void write(string值)
方法,因为将为每个字符调用采用
字符的方法。