繁体   English   中英

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

[英]Defining reference of an object across the class level and assining the value in the constructor

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

public partial class Form1 : Form
{
    Graphics grfx;

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

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

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

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

private readonly Graphics grfx;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM