【问题标题】:Why is declaring the object reference this way wrong?为什么以这种方式声明对象引用是错误的?
【发布时间】:2020-11-15 02:30:53
【问题描述】:

我正在尝试使用 C# 学习 WinForms,并且下面的代码代码部分可以正常工作:

using System;
using System.Windows.Forms;

namespace TempConversion
{
    public partial class Form1 : Form
    {
        private RadioButton rdb;

        public Form1()
        {
            InitializeComponent();

            rdb = new RadioButton();
        }
        ...

但如下所示,如果我在 public Form1() 中声明 private RadioButton rdb 则会出现错误:

using System;
using System.Windows.Forms;

namespace TempConversion
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            private RadioButton rdb;
            rdb = new RadioButton();
        }
        ...

即使两个声明都在同一个命名空间内,我也无法弄清楚为什么第二种情况是错误的。第二种情况private RadioButton rdbpublic Form1()中声明时报错的原因是什么?

【问题讨论】:

    标签: c# winforms scope declaration


    【解决方案1】:

    c# 访问修饰符(private、public、protected 等)仅在用作类的一部分时才有用。在构造函数或任何其他方法内部,它们没有任何意义,因为它们仅在您声明变量的方法内部可见。

    所以只要去掉“private”关键字,就可以了。

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 2022-11-17
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 2017-02-14
      • 1970-01-01
      • 2012-07-13
      相关资源
      最近更新 更多