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

【注意】大家看看小弟我这段代码能不能实现类实例的插入!【窃喜】小有成就感

2012-10-15 
【注意】大家看看我这段代码能不能实现类实例的插入!!【窃喜】小有成就感啊C# codepublic void Insert(){Corma

【注意】大家看看我这段代码能不能实现类实例的插入!!【窃喜】小有成就感啊

C# code
        public void Insert()        {            Cormander.DataAccess.MemberInfor memberInfor = new DataAccess.MemberInfor();            System.Reflection.PropertyInfo[] properties = typeof(Cormander.DataAccess.MemberInfor).GetProperties();            foreach (System.Reflection.PropertyInfo property in properties)            {                property.SetValue(memberInfor, property.GetValue(this,null), null);            }            using (Cormander.DataAccess.CormanderDataContext cdc = new DataAccess.CormanderDataContext())            {                cdc.MemberInfor.InsertOnSubmit(memberInfor);                cdc.SubmitChanges();            }        }

上述代码是一个实体类的插入方法。引用了数据层的linq to sql实例
之前每次写插入的时候总要为类的每个属性一个一个赋值例如
C# code
memberInfor.Id =this.Id;

如果属性很多的话要烦的要死。
现在使用了反射读取了类的所有属性。然后遍历所有属性,并调用该属性的SetValue方法,给memberInfor对象赋值。

哈哈~~
本人菜鸟~好不容易写出来的,欢迎大神们指正哈~


[解决办法]
不要光看方不方便,还要看效率
[解决办法]
C# code
明显在楼主语气中发现楼主目前心情:☆☆☆☆☆当前分配分数:☆楼主当前状态:☆☆楼主意图不轨:☆☆☆☆☆楼主的色指数:☆☆☆☆☆
[解决办法]
用反射是有效率问题的。同时,这样的写法不安全,一般都是要做一些数据处理或边界检查的,所以意义不大,当练习反射吧。。。
[解决办法]
不过,总的思想是好的,能把代码精简再精简,当然前提是可读性好的话,保持这种态度下去,会有成长的

热点排行