news 2026/4/25 12:20:29

扩展方法#x2B;泛型#x2B;委托#x2B;Lambda 联合使用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
扩展方法#x2B;泛型#x2B;委托#x2B;Lambda 联合使用

笔记:SetDefaultValue方法拆解(扩展方法+泛型+委托+Lambda)

  1. 核心功能
    为Entity对象安全取值:指定字段名,有值则用委托转换后返回,无值/转换失败则返回默认值。

  2. 白话拆解(以取Name为例)
    原始冗余写法:
    string name;
    if (userEntity != null && userEntity.IsNotNull("Name"))
    {
    try { name = userEntity["Name"].ToString(); }
    catch { name = "未知"; }
    }
    else

封装后写法:
string name = userEntity.SetDefaultValue("Name", "未知", val => val.ToString());

  1. 关键语法拆解
  • 扩展方法:this Entity en → 静态类+this参数,可直接用实例调用;
  • 泛型:调用时自动推导类型(默认值"未知"→T=string,默认值0→T=int);
  • 委托Func<object, T>:
    ✅ Func<object, T> action → 委托容器(要求:装“接收object、返回T”的方法);
    ✅ val => val.ToString() → 匿名方法(Lambda简化写法,等价于 { return val.ToString(); });
    ✅ action(en[name]) → 调用委托(传入en[name](object)执行匿名方法,返回T);
  1. 实际开发优化点(必加)
    ① 加en == null判断,避免空引用;
    ② 加try-catch,处理转换失败(比如Age是"abc"转int);

本人是一枚还没毕业的实习生,目前在一家企业实习。今天看到代码中同事写的一些封装方法,在自学过程中都有接触过,但是联合起来使用看起来却很吃力,我就想记录一下自己的成长过程,路过的大佬还望多多担待~
笔记是ai美化后的,也是想通过学习一遍,再写点笔记加点自己的想法的,但是发现还是比较冗余。谢谢大家,阿里嘎多!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 17:03:29

食品异物检测设备市场格局与技术路径解析

在食品工业范畴当中&#xff0c;保证产品安全属于生产的首要前提条件&#xff0c;其中&#xff0c;异物混入比如像金属、玻璃、石子、塑料碎片等这样的情况&#xff0c;是比较常见且极为普遍的风险来源&#xff0c;为了能够确实有效地剔除这些异物&#xff0c;食品X光检测机已变…

作者头像 李华
网站建设 2026/4/23 15:39:37

c语言之宏定义高级处理之编译时断言

typedef struct {int audio_volume;int tone_volume;int networkMode;char sn[32];char reamin[2048 - 32 - sizeof(int) * 3];}sys_params_t;// 编译时断言 #define COMPILE_TIME_ASSERT(cond, msg) \extern char __compile_time_assertion_##msg[(cond) ? 1 : -1]COMPILE_TI…

作者头像 李华
网站建设 2026/4/16 19:05:11

基于单片机电磁流量计模拟仿真设计(仿真、程序、bom)

目录单片机电磁流量计模拟仿真设计概述硬件电路仿真设计软件程序设计物料清单&#xff08;BOM&#xff09;示例仿真工具推荐源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;单片机电磁流量计模拟仿真设计概述 电磁流量计基于法拉第电磁…

作者头像 李华
网站建设 2026/4/17 12:27:33

1337x打不开怎么解决?2026解决方案

1337x作为目前仍然活跃的 Torrent 资源索引站之一&#xff0c;在很多地区依然有大量用户。但进入 2026 年&#xff0c;越来越多人发现一个现实问题&#xff1a;1337x 不是“偶尔打不开”&#xff0c;而是“经常性无法访问”。 页面直接被拦截、DNS 被劫持、加载极慢&#xff0…

作者头像 李华