我需要在方法rbFileChoice.Checked
中使用变量rbHandWriteChoice.Checked
和LookAtChoice
。但是我无法通过这种方法访问它们。所以我使用在Form对象的Constructor中声明的全局变量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)
{
}
}
}
答案 0 :(得分:0)
假设您编写Form类并且上面的控件是单选按钮 - Form是一个对象,它的控件是它的成员(而不是全局变量),所以它们在整个类中都可用是有意义的。
说这是好的做法(不一定在你的情况下)是将业务逻辑重构为一个简单的方法。
例如,创建一个接收两个布尔参数的方法(如单选按钮的Check
属性)并相应地执行操作。
答案 1 :(得分:0)
为什么你声明全局变量而不是u可以在LookAtChoice()方法中直接使用它来使用它来初始化它 rbFileChoice.Checked; rbHandWriteChoice.Checked;属性....
答案 2 :(得分:0)
如果您想访问此表单外的单选按钮。你应该将其modifer声明为public或internal。 内部变量可以在命名空间内访问,但可以使用类对象。 公共变量也可以在命名空间之外访问,但是使用类对象。