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

【.net core】从ISugarQueryable<T>对象中获取泛型参数的类名称

/// <summary> /// 从ISugarQueryable<T>对象中获取泛型参数的类名称 /// </summary> /// <param name="query">ISugarQueryable<T>查询对象</param> /// <returns>泛型类名称字符串(如"User"),如果不是ISugarQueryable类型则返回null</returns> public string GetSugarQueryGenericTypeName<TEntity>(ISugarQueryable<TEntity> query) { if (query == null) { throw new ArgumentNullException(nameof(query), "查询对象不能为空"); } // 1. 获取query对象的实际类型 Type queryType = query.GetType(); // 2. 查找实现的ISugarQueryable<T>接口(可能是泛型接口) Type genericInterface = queryType.GetInterface(typeof(ISugarQueryable<>).FullName); if (genericInterface == null) { // 如果不是泛型版本,尝试获取非泛型ISugarQueryable的EntityType // 兼容SqlSugar的不同版本 PropertyInfo entityTypeProp = queryType.GetProperty("EntityType"); if (entityTypeProp != null) { Type entityType = (Type)entityTypeProp.GetValue(query); return entityType?.Name; } return null; } // 3. 获取泛型接口的类型参数(即T) Type[] genericArguments = genericInterface.GetGenericArguments(); if (genericArguments.Length > 0) { // 获取类名称(不含命名空间) string className = genericArguments[0].Name; // 可选:如果需要带命名空间的完整名称,使用 FullName // string fullClassName = genericArguments[0].FullName; return className; } return null; }
http://www.jsqmd.com/news/412400/

相关文章:

  • 数学统计RMS与STD
  • AI Agent框架探秘:拆解 OpenHands(8)--- CodeActAgent
  • 国内首个AI编程Skill应用商店上线——陌讯Skills平台技术逻辑与价值
  • sql注入之报错盲注
  • 村里白事传统“忙kei”总结篇
  • 枝晶生长模拟:溶质、液相分数与Matlab源代码教程
  • 碰撞检测:射线法(Ray Casting)、分离轴定理(SAT)、向量法(Vector-Based Methods) 在多边形与多边形碰撞检测中的优劣势对比
  • 分享一份书单
  • AI 工程化实战:不学算法也能用好的 LLM 指南
  • 信用卡逾期后,找对机构申请分期正规可靠? - 代码非世界
  • 个性化分期委托机构怎么选才靠谱?信用卡逾期找哪个机构协商分期最可靠? - 代码非世界
  • 生成式推荐系统:从范式变革到技术实践的全面解析
  • 贷款还款压力比较大 可以委托律师和贷款公司协商吗?最佳办法 - 代码非世界
  • 论线段树 tag 的优先级
  • [机器学习] 前馈神经网络
  • 2026.2.25总结
  • 信用卡债务协商委托专业机构到底要花多少钱? - 代码非世界
  • 2026年目标
  • 贷款负债协商委托律师和贷款公司协商,怎么协商? - 代码非世界
  • 计算字符串的md5值
  • 从豆包春晚“不崩”说起:AI 时代,我们如何守护 AI 基础设施系统稳定?| 云智慧 Castrel AI
  • 2026马年AI合规第一课✨大模型备案全攻略,新手零踩坑(超详细)
  • 前端学习---HTML---块元素和行内元素
  • AI 赋能文档安全:敏感内容识别与动态权限管控技术盘点
  • 基于CNN和FNN的进化神经元模型的快速响应尖峰神经网络附Matlab代码
  • 2026多智能体系统爆发:实在智能Agent如何破解企业数字化死局?
  • 基于CNN-LSTM定向改进预测的动态多目标进化算法(CNN-LSTM-DIP-DMOEA)求解CEC2018研究附Matlab代码
  • 信用卡逾期委托协商分期费用详解,负债人正规办理全指南 - 代码非世界
  • 贷款逾期找协商公司,贷款逾期委托公司协商问题分析 - 代码非世界
  • 知识图谱增强大模型实战指南(非常详细),智能融合新范式入门到精通,收藏这一篇就够了!