当前位置: 首页 > article >正文

c# 结构体反射赋值问题 结构体 反射赋值

c# 结构体反射赋值问题 结构体 反射赋值

因为结构体是值类型,在普通的反射赋值时,结构体对象会被赋值一份,因此更改对象和源对象不一致,造成无法更改的局面

1、结构体字段反射赋值


  struct Test
    {
        public Test()
        {
        }

        public string name { get; set; } = "";
        public int age { get; set; } = 10;

        public string ttt = "11";
    }





FieldInfo fi = typeof(Test).GetField("ttt", BindingFlags.Public | BindingFlags.Instance);
if(fi == null) return;
TypedReference reference = __makeref(t);
fi.SetValueDirect(reference,"2222");

2、结构体属性类型反射赋值

Test t = new Test();
        var one = typeof(Test).GetProperties().FirstOrDefault(n => n.Name == "name");

        object nT = t;
        one.SetValue(nT, "1111");

        t = (Test)nT;
 

http://www.kler.cn/a/325069.html

相关文章:

  • Windows docker下载minio出现“Using default tag: latestError response from daemon”
  • 使用 GoZero 实现读取绩效表格 Excel 并打分
  • Isaac Sim+SKRL机器人并行强化学习
  • OpenGL 进阶系列11 - 粒子特效(使用 Compute Shader)
  • 【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入
  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)
  • 百度智能体创建:情感领域的创新力量
  • 大模型训练:K8s 环境中数千节点存储最佳实践
  • 车辆零部件检测和分割数据集-车体数据集-yolo格式-yolov5-yolov10可用
  • docker-图形化工具-portainer的使用
  • Vue $router.push打开新窗口
  • 【Linux网络】详解TCP协议(2)
  • 网站建设中常见的网站后台开发语言有哪几种,各自优缺点都是什么?
  • python和pyqt-tools安装位置
  • 【从零开始实现stm32无刷电机FOC】【实践】【7.1/7 硬件设计】
  • 【Golang】关于Go语言字符串转换strconv
  • 《牧神记》PV初体验,玄机科技再塑经典国漫
  • 学习C++的第七天!
  • 新建flask项目,配置入口文件,启动项目
  • OceanBase 一级表分区记录
  • 浅谈虚拟内存(操作系统、Redis)
  • matlab中在一个图上持续画多条曲线的方法
  • Qualitor processVariavel.php 未授权命令注入漏洞复现(CVE-2023-47253)
  • [Redis][持久化][上][RDB]详细讲解
  • 每天一个数据分析题(四百九十)- 主成分分析与因子分析
  • 7种限流算法打开新方式