我想在登陆系统时,把用户信息封装起来,在窗口方便调用,不用在实例化,可是调用的时间出错(错误:未将对象引用设置到对象的实例).高手们帮我看看,.谢谢!
类用户信息
  public  class UsersInfo_
    {
        private string userID;   
    //private string userName;
        //private string password;
        //private string description;            
        public UsersInfo_()
        {        }  
        public string UserID
        {
            get { return this.userID; }
            set { this.userID = value; }
        }全局类,方便我在各窗口调用
   public static  class GlobalParams
    {        
        public static UsersInfo_ CurUser { get; set; }
  }窗口调用
  string strUserID=GlobalParams.CurUser.UserID;(报错:未将对象引用设置到对象的实例)-----------------------------------
如果 UsersInfo_ user = new UsersInfo_();
   user.UserID="BB";
这样是可行的,
可每个窗口要取值都要实例化取值太麻烦了,

解决方案 »

  1.   

     一般使用静态
    public class UsersInfo_
      {
      private static string userID;   
     
      public UsersInfo_()
      {  }   
      public static string UserID
      {
      get { return userID; }
      set { userID = value; }
      }
      

  2.   

    直接用类去调用
    UsersInfo_.UserID
      

  3.   

    public static class UsersInfo_
      {
      private static string userID;   
     
      public UsersInfo_()
      {  }   
      public static string UserID
      {
      get { return userID; }
      set { userID = value; }
      }
    用靜態類比用全局類方便點
      

  4.   

     public static class GlobalParams
      {   
      public static UsersInfo_ CurUser { get; set; }
      }
     CurUser 你要实例化才行
      

  5.   

    wangxianshou(WHO) 如果我加上static  ,在另一个窗口 只能UsersInfo.UserID这样取值.全局类GlobalParams.CurUser.UserID,是没有UserID(GlobalParams.CurUser),我想把UserID,Password....都封装成public static UsersInfo_ CurUser { get; set; }
      

  6.   

    GlobalParams是静态的,但是UsersInfo_类不是静态的,
    UsersInfo_必须new了才有实例,改为
    public static class GlobalParams
      {   
      public static UsersInfo_ CurUser = new UsersInfo_();
      }试试
      

  7.   

    public static class GlobalParams
      {  
    public static GlobalParams()
    {
    CurUser = new UsersInfo();
    }
      public static UsersInfo_ CurUser { get; set; }
      }
      

  8.   

    GlobalParams.CurUser.后面就没有UserID这个方法名了
    (错误提示:无法使用实例引用来访问成员“Diary.UsersInfo_.UserID.get”;) 谢谢
      

  9.   

     
    错误 “Diary.GlobalParams.GlobalParams()”: 静态构造函数中不允许出现访问修饰符
    public static GlobalParams(),我把static  去掉了,.错误 静态类不能有实例构造函数
    在静态类,如果实例话,我在窗口,不能调用的
    窗口调用
      string strUserID=GlobalParams.CurUser.UserID   谢谢
      

  10.   

    用Linq拖一张table表到Linq To SQL 类 DataClasses1.dbml ,会自动成一个表的类.如table,里面有aa,bb表头,我在
    public static class GlobalParams
      {   
      public static table tab{ get; set; }
      }string strUserID=GlobalParams.tab.aa.Tostring;
    这样就可以使用了,我看Linq To SQL 类里的代码,有用到虚函数,.可我不会用