c# 映射取值和赋值

在c#中,有时候需要通过映射关系来实现对对象的取值(包括属性名称和值)。

TSys_Flow flowData = flowApp.GetFormByTool(FID);
            List<string> nameList = new List<string>();
            PropertyInfo[] type = flowData.GetType().GetProperties();
            foreach (PropertyInfo info in type)
            {
                var name = info.Name;                                        //获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作
                object value = info.GetValue(flowData, null);     //用info.GetValue获得值
                if(value!=null && value.ToString() == "true")
                {
                    nameList.Add(name);
                }
            }
            if(nameList.Count!=0)
            {
                for (int i = 0; i < nameList.Count;i++ )
                {
                  var property = flowData.GetType().GetProperty(nameList[i]);
                  property.SetValue(flowData, null, null);
                }
                flowData.F_State = "0";  //表示未完成
            }
            NFineBase.Current.Update(flowData);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值