流写入覆盖不仅仅是“写入”功能
本文关键字:写入 功能 不仅仅是 覆盖 | 更新日期: 2023-09-27 18:31:34
这是我当前为我的教科编写器类编写的代码:
using System;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace ConsoleRedirection
{
public class TextBoxStreamWriter : TextWriter
{
TextBox _output = null;
public TextBoxStreamWriter(TextBox output)
{
_output = output;
}
public override void Write(char value)
{
base.Write(value);
_output.AppendText(value.ToString());
}
public override void Write(string value)
{
_output.AppendText(value);
}
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
}
如您所见,覆盖 Write 函数可以正常工作,但我希望能够覆盖从"清除"到"颜色"设置的所有内容。我尝试添加清除覆盖,但它说没有什么可覆盖的。
如何在 System.Console 中覆盖我需要的所有功能?
仅仅是因为TextWriter不包含清除或颜色设置功能。
检查 msdn。
尝试创建一个新方法而不覆盖,例如:
public void Clear()
{
_output.Clear();
}
如果您尝试编辑文本框内容,请尝试此代码
using System;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace ConsoleRedirection
{
public class TextBoxStreamWriter
{
TextBox _output = null;
public TextBoxStreamWriter(ref TextBox output)
{
_output = output;
}
public void Write(char value)
{
_output.AppendText(value.ToString());
}
public void Write(string value)
{
_output.AppendText(value);
}
public Encoding Encoding
{
get { return Encoding.UTF8; }
}
public void clear()
{
_output.Clear();
}
public void textColor(System.Drawing.Color color)
{
_output.ForeColor = color;
}
}
}
以及创建类的新实例
ConsoleRedirection.TextBoxStreamWriter tbxw = new ConsoleRedirection.TextBoxStreamWriter(ref textbox1);