在类级别定义对象的引用并在构造函数中指定值

时间:2014-11-02 21:31:41

标签: c# .net oop

为什么在很多情况下我看到编码器在类级别定义一个对象的引用然后他在构造函数中创建它自己的对象(赋值它的值?)

public partial class Form1 : Form
{
    Graphics grfx;

    public Form1()
    {
        InitializeComponent();
        grfx = this.CreateGraphics();
    }
}

这有什么好处。这是否允许我们从类中的任何方法访问此对象?

1 个答案:

答案 0 :(得分:3)

grfxForm1的实例变量。它是在类级别定义的(即在任何方法或构造函数之外),因此类的所有非静态方法都可以访问它。

在构造函数中初始化它的一个好处是代码的其余部分可以依赖于它的设置,避免了不必要的null检查。在这种情况下,将grfx设置为private和read-only可能是一个好主意,以确保它永远不会在构造函数之外设置:

private readonly Graphics grfx;