C# 良好的局部变量声明风格

C# 良好的局部变量声明风格,c#,C#,我需要在方法LookAtChoice中使用变量rbFileChoice.Checked和rbHandWriteChoice.Checked。但是我不能用这种方法访问它们。所以我使用全局变量rbFileIsChecked和rbHandWriteIsChecked,它们在表单对象的构造函数中声明。 这是一种好的编程风格吗?对私有变量进行访问的其他方式包括吗 public partial class fMainWindow : Form { bool rbFileIsChecked;

我需要在方法
LookAtChoice
中使用变量
rbFileChoice.Checked
rbHandWriteChoice.Checked
。但是我不能用这种方法访问它们。所以我使用全局变量
rbFileIsChecked
rbHandWriteIsChecked
,它们在表单对象的构造函数中声明。 这是一种好的编程风格吗?对私有变量进行访问的其他方式包括吗

public partial class fMainWindow : Form
{
    bool rbFileIsChecked;
    bool rbHandWriteIsChecked;
    public fMainWindow()
    {
        InitializeComponent();
        rbFileIsChecked = rbFileChoice.Checked;
        rbHandWriteIsChecked = rbHandWriteChoice.Checked;
        Thread threadLookForChoice = new Thread(LookAtChoice);
        threadLookForChoice.Start();

    }
    /// <summary>
    /// Функция фонового потока. Следит за выбором пользователя. В случае выбора
    /// нового пункта, удаляет старые введенные значения.
    /// </summary>
    public static void LookAtChoice()
    {
        if (true)
        {

        }
    }

}
公共部分类fMainWindow:表单
{
布尔RBF被检查;
布尔RB手写体检查;
公共fMainWindow()
{
初始化组件();
rbFileIsChecked=rbFileChoice.Checked;
rbHandWriteIsChecked=rbHandWriteChoice.Checked;
线程threadLookForChoice=新线程(LookAtChoice);
threadLookForChoice.Start();
}
/// 
/// Функция фонового потока. Следит за выбором пользователя. В случае выбора
/// нового пункта, удаляет старые введенные значения.
/// 
公共静态void LookAtChoice()
{
如果(真)
{
}
}
}

假设您编写了一个表单类,并且上面的控件是单选按钮-表单是一个对象,它的控件是它的成员(而不是全局变量),因此它们在整个类中都是可用的

也就是说,将业务逻辑重构为一个简单的方法是一个好的实践(在您的案例中不一定如此)。
例如,创建一个方法,该方法接收两个布尔参数(如单选按钮的
Check
属性),并相应地执行操作。

为什么要声明全局变量而不是u,可以在LookAtChoice()方法中直接使用它通过使用 选择。检查;
选择一个选项。选中;属性…

如果要访问此表单外部的单选按钮。您应该将其修改器声明为public或internal。 内部变量可以在命名空间内访问,但必须使用类对象。
公共变量也可以在名称空间之外通过类对象进行访问。

loval
更改为有问题的
local
变量。发布一些具体代码,说明这是否是好的样式。一般来说,您应该始终将变量范围定义得尽可能小。为什么要定义全局变量?你应该使用属性()为什么不直接使用方法中单选按钮的值而不是本地成员?@HimBromBeere,谢谢!我把这个方法变成非静态的,并且可以工作。我试着去了解无线电按钮的特性。但它不起作用。编译器说“对于非静态方法,需要指向对象的字段或属性链接”