重写现有方法以便添加额外功能。

重写 OnPaint

C# 版本管理功能在编写使用 Windows 窗体的代码时特别有用。例如,重写从 Windows 窗体继承的控件所提供的 OnPaint 方法是很常见的。

重写 OnPaint 使程序能够通过加入绘制自定义控件所需的额外代码来利用 Windows 窗体的现有 Paint 事件。

C# CopyCode image复制代码
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
    // Perform custom drawing
    System.Drawing.Graphics gfx = e.Graphics;
    gfx.DrawString("Hello, World!",
      new System.Drawing.Font("Arial", 16),
      new System.Drawing.SolidBrush(System.Drawing.Color.Blue),
      new System.Drawing.Point(10, 10));
}

有关更多信息,请参见用户描述的控件

重写 ToString

C# 中的每个对象都继承 ToString 方法,此方法返回该对象的字符串表示形式。例如,所有 int 类型的变量都有一个 ToString 方法,从而允许将变量的内容作为字符串返回:

C# CopyCode image复制代码
int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);

通过重写 ToString 方法,您可以控制对象返回的默认字符串。这在调试或跟踪程序的执行时可能很有用:

C# CopyCode image复制代码
class SampleObject
{
    int number = 42;

    public override string ToString()
    {
        return "Object: SampleObject. Value: " + number;
    }
}

当创建了此类型的实例时,可以像下面这样调用 ToString 方法:

C# CopyCode image复制代码
SampleObject o = new SampleObject();
System.Console.WriteLine(o.ToString());

产生的输出如下:

Object: SampleObject. Value: 42

如果在跟踪程序的操作时需要关于对象内容的更多信息,您应该利用 Visual Studio 的调试工具。调试器将使用数据提示以及可视化工具显示变量的内容,您可以显示文本、HTML、XML 和数据集。有关更多信息,请参见如何:使用数据提示功能可视化工具

请参见