C#反射使用

1 篇文章 0 订阅

例如一个A类有d1,c1,d2,c2,d3,c3,d4,c4,d5,c5...属性,一个B类有d,c属性。下面实例一个A类对象a,要将对应的d,c属性存入到实例的B类对象b1,b2,b3,b4,b5...中。

List<B> list = new List<B>();
for(int i=1;i<n;i++)
{
    B b = new b();
    str1 = "c" + i;
    str2 = "d" + i;
    object o1 = a.GetType().GetProperty(str1).GetValue(a);
    object o2 = a.GetType().GetProperty(str2).GetValue(a);
    if(string.IsNullOrEmpty(Convert.ToString(o1)))
    {
        b.c = null; //假设c为int?
    }
    else
    {
        b.c = Convert.ToInt32(o1);
    }
    if(string.IsNullOrEmpty(Convert.ToString(o2)))
    {
        b.d = null; //假设d为int?
    }
    else
    {
        b.d = Convert.ToInt32(o2);
    }
    list.add(b);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值