tnblog
首页
视频
资源
登录

反射实例化并动态赋值

4385人阅读 2022/4/21 16:09 总访问:414895 评论:0 收藏:0 手机
分类: ASP.NET
Type type = typeof(User);  //获取类型
object a = Activator.CreateInstance(type);   //创建对象
foreach (var Prop in type.GetProperties())//GetProperties获取属性
{
    Console.WriteLine($"{type.Name}.{Prop.Name}={Prop.GetValue(a)}");
    if (Prop.Name.Equals("Id"))
    {
        Prop.SetValue(a, 213);//设置值
    }
    else if (Prop.Name.Equals("Name"))
    {
        Prop.SetValue(a, "张三");
    }
    Console.WriteLine($"{type.Name}.{Prop.Name}={Prop.GetValue(a)}");//获取值
}
foreach (var Field in type.GetFields())//GetFields获取字段
{
    Console.WriteLine($"{type.Name}.{Field.Name}={Field.GetValue(a)}");
    if (Field.Name.Equals("ClassID"))
    {
        Field.SetValue(a, "213");
    }
    Console.WriteLine($"{type.Name}.{Field.Name}={Field.GetValue(a)}");
}


public class UserInfo
{
    public string UserName { get; set; }
}
//反射实例化并赋值
Type type = typeof(UserInfo);
object user = Activator.CreateInstance(type);
foreach (var Prop in type.GetProperties())//GetProperties获取属性
{
    Console.WriteLine($"{type.Name}.{Prop.Name}={Prop.GetValue(user)}");
    if (Prop.Name.Equals("UserName"))
    {
        Prop.SetValue(user, "张三");
    }
    Console.WriteLine($"{type.Name}.{Prop.Name}={Prop.GetValue(user)}");//获取值
}


评价
当你知道迷惑时,并不可怜,当你不知道迷惑时,才是最可怜的。
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术