首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

用实体类遇到的郁闷有关问题

2011-12-30 
用实体类遇到的郁闷问题我定义了一个可视化的实体类:UserInfo[Serializable]publicclassUserInfo{privates

用实体类遇到的郁闷问题
我定义了一个可视化的实体类:UserInfo
[Serializable]
      public   class   UserInfo
      {
            private   string   id;
            private   string   name;
            private   string   password;

            public   UserInfo()   {   }

              public   UserInfo(string   id,   string   name)
              {
                      this.id   =   id;
                      this.name   =   name;
              }

              public   UserInfo(string   id,   string   name,   string   password)
              {
                      this.id   =   id;
                      this.name   =   name;
                      this.password=password;
              }
......

}

接着在一个实现类里返回序列化的实体类:
                public   IList <UserInfo>   GetUsers()
                {
                        SqlDataReader   dr;
                        IList <UserInfo>   users   =   new   List <UserInfo> ();
                        strSql   =   "Select   Staff_Id,Staff_Name,IsActive   From   tblUsers ";

                        DB.RunSql(strSql,   out   dr);

                        while   (dr.Read())
                        {
                                UserInfo   aUser   =   new   UserInfo(dr.GetString(0),   dr.GetString(1));
                                users.Add(aUser);
                        }

                        dr.Close();

                        return   users;
                }

谁知道返回的结果有3个字段:Id,Name,Password;但我只想返回前两个字段而已呀?请问这如何解决?不会又要定义一个只有两个字段的实体类吧?

请高兴解疑,谢谢!

[解决办法]
。。!!
Password你不想用就不用呗
难道你的意思是:要是没有赋值该实体就没有这个属性?
------解决方案--------------------


不大明白,不过可能就是的,因为在new 一个新List时,结构就已经定了呀,所以为了满足这结构,一定会把所以的字段都加上的吧!
高手去哪了?
[解决办法]
对阿,那你就可以再加上个字段,然后password属性里通过新添加的字段控制password字段显示与否

哎,最近怎么了,连话都说不利索了。。。。。
[解决办法]
[Serializable]
public class MyObject
{
public int n1;
[NonSerialized] public int n2;//使用NonSerialized关键字指定该字段不参与序列化
public String str;
}

[解决办法]
学习
帮顶
[解决办法]
有没有高手指点呀.
我想只能用两个类(可以是继承)来实现吧
一个包函Password ,一个没有
[解决办法]
//之前我也是和你同样的想法,不用第3种构造函数就可了.但当我把返回的实体集合绑定到GridView时,实体类的所有属性(字段)都会显示出来.您可以亲自试试.
--------------------------

楼主,我总算是明白你的意思了,你是要把实体类直接绑定到GridView控件上,如果有Password字段的话那就会显示这一列了,而这是你所不期望的。
假设我理解是正确的,那就是楼主你的问题了,我记得在GridView控件上,如果不使用自动生成列的功能,你可以指定要显示哪些列,而这些列绑定到哪个属性。

[解决办法]
好象只能取整个实体类,不能取部分

热点排行