读书人

方才调试里发现一个奇怪现象,list自动

发布时间: 2012-09-21 15:47:26 作者: rapoo

刚才调试里发现一个奇怪现象,list自动增长
刚才调试里发现一个奇怪现象 不知道大家感兴趣不!!!

首先说明一下.有一个帐户类中定义了一个数据库中的字段列表

C# code
//数据表原有字段        List<System.String> _listField=new List<System.String>();/// <summary>        /// 数据表字段        /// </summary>        public List<System.String> FieldList        {            get             {                                 _listField.Add("AutoID");                                _listField.Add("AccountName");                                _listField.Add("Password");                                _listField.Add("RoleID");                                _listField.Add("Email");                                _listField.Add("Mobile");                                _listField.Add("IsSystem");                                _listField.Add("LoginCount");                                _listField.Add("LastLoginIP");                                _listField.Add("LastLoginArea");                                _listField.Add("LastLoginTime");                                _listField.Add("AutoTimeStamp");                                                  return _listField;            }        }...然后有段更新模型的代码public override bool UpdateModel<T>(T model)        {            bool bolReturn = false;            //更新需要一个主键值            int intIDKey = new int();            //数据表名称            string strTableName = string.Empty;            //数据表字段            List<string> listField = new List<string>();            Type modelEntityType = model.GetType();            PropertyInfo[] arrProperty = modelEntityType.GetProperties();            StringBuilder builderSQL = new StringBuilder();            List<SqlParameter> listParams = new List<SqlParameter>();            foreach (PropertyInfo property in arrProperty)            {                //指定的数据库表名                if (property.Name == "DBTableName")                {                    object obj = property.GetValue(model, null);                    strTableName = obj == null ? string.Empty : obj.ToString();                }                //指定的数据表字段                if (property.Name == "FieldList")                {                    object obj = property.GetValue(model, null);                    listField = (List<string>)obj;                }                //指定的主键                if (property.Name == "AutoID")                {                    object obj = property.GetValue(model, null);                    intIDKey = obj == null ? 0 : Convert.ToInt32(obj);                }            }神奇的事件就出现在FieldList listField 上面

第一次查看model

第二次查看

第三次查看


啥也没动.就是三次查看model数据.发现list自动增长了.




[解决办法]
应该如下设置
C# code
   private List<string> _ss=new List<string> ();            public List<string> ss            {                get                 {                    if (_ss.Count > 0)                    {                        _ss.Clear();                    }                    else                    {                        _ss.Add("1");                        _ss.Add("2");                    }                    return _ss;                }                            }
[解决办法]
你是不是不断的拖动断点导致了重复添加数据,那就没错啊

读书人网 >asp.net

热点推荐