回 帖 发 新 帖 刷新版面

主题:关于类的实例的问题

定义了两个form类:LoginForm和MainForm
在LoginForm中定义了一个bool字段blCanLogin.
MainForm中Main()方法如下:
static void Main() 
{
           //整个程序启动时先显示登录框,登录成功再显示主界面
    LoginFrm login = new LoginFrm();
    login.ShowDialog();
    if (LoginFrm.blCanLogin==true)
        {
        Application.Run(new MainFrm());
        }
}
我想问的是:
LoginFrm.blCanLogin==true 这句中,为什么是LoginFrm.blCanLogin,而不是login.blCanLogin呢?不是已经实例化了阿

回复列表 (共4个回复)

沙发

你的blCanLogin是不是定义为静态变量了?如果是,那么所有的类实例只共享一个变量

板凳

肯定是静态变量,,要不怎能在STATIC VOID MAIN()里面使用..

静态变量,是属于整个类的,而不属于某个具体的对象..

3 楼

确实是 静态的 呵呵 没注意阿

4 楼

肯定做成静态咯~~~
把static换成public你再看看....要还这效果的话我们都死去好了

我来回复

您尚未登录,请登录后再回复。点此登录或注册