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值)
方法,因为将为每个字符调用采用字符的方法。