C# Model(模型) 转 Hashtable
灵感来源:https://blog.csdn.net/anonymous_qsh/article/details/78596695
public static Hashtable ObjectToMap(object obj, bool isIgnoreNull = false)
{
Hashtable map = new Hashtable(); Type t = obj.GetType(); // 获取对象对应的类, 对应的类型 PropertyInfo[] pi = t.GetProperties(BindingFlags.Public | BindingFlags.Instance); // 获取当前type公共属性 foreach (PropertyInfo p in pi)
{
MethodInfo m = p.GetGetMethod(); if (m != null && m.IsPublic)
{
// 进行判NULL处理
if (m.Invoke(obj, new object[] { }) != null || !isIgnoreNull)
{
map.Add(p.Name, m.Invoke(obj, new object[] { })); // 向字典添加元素
}
}
}
return map;
}
https://blog.csdn.net/anonymous_qsh/article/details/78596695
/// <summary>
/// 对象转换为字典
/// </summary>
/// <param name="obj">待转化的对象</param>
/// <param name="isIgnoreNull">是否忽略NULL 这里我不需要转化NULL的值,正常使用可以不穿参数 默认全转换</param>
/// <returns></returns>
public static Dictionary<string, object> ObjectToMap(object obj, bool isIgnoreNull = false)
{
Dictionary<string, object> map = new Dictionary<string, object>(); Type t = obj.GetType(); // 获取对象对应的类, 对应的类型 PropertyInfo[] pi = t.GetProperties(BindingFlags.Public | BindingFlags.Instance); // 获取当前type公共属性 foreach (PropertyInfo p in pi)
{
MethodInfo m = p.GetGetMethod(); if (m != null && m.IsPublic)
{
// 进行判NULL处理
if (m.Invoke(obj, new object[] { }) != null || !isIgnoreNull) {
map.Add(p.Name, m.Invoke(obj, new object[] { })); // 向字典添加元素
}
}
}
return map;
}
C# Model(模型) 转 Hashtable的更多相关文章
- Backbone源码解析(二):Model(模型)模块
Model(模型)模块在bk框架中的作用主要是存储处理数据,它对外和对内都有很多操作数据的接口和方法.它与视图(Views)模块精密联系着,通过set函数改变数据结构从而改变视图界面的变化.下面我们来 ...
- MVC(Model(模型) View(视图) Controller(控制器))
复习 1. 商品表 增删改查 index.php add.php view.php edit.php action.php 2. MVC(Model(模型) Vie ...
- django Model模型二及Model模型对数据库的操作
在django模型中负责与数据库交互的为Model层,Model层提供了一个基于orm的交互框架 一:创建一个最基本的Model from __future__ import unicode_lite ...
- tp框架-----Model模型层
1.Model模型层是用来做什么的呢? 主要是用来做操作数据库访问的.也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. 2.Model模型怎样使用呢? 要使用Model模型层访问数 ...
- keras系列︱Sequential与Model模型、keras基本结构功能(一)
引自:http://blog.csdn.net/sinat_26917383/article/details/72857454 中文文档:http://keras-cn.readthedocs.io/ ...
- thinkphp5 model 模型
新增更新都是save.saveAll 怎么识别他们 实例化模型后调用save方法表示新增: 查询数据后调用save方法表示更新: save方法传入更新条件后表示更新: isUpdate(true): ...
- Django Model模型的实战操作笔记
Model模型的实战操作笔记 1. 创建数据库和表 进入MySQL数据库创建数据库:mytest 进入数据库创建数据表:mytest_users CREATE TABLE `mytest_users` ...
- TP框架---Model模型层---做模型对象
TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...
- Model 模型
Model 模型模型是你的数据的唯一的.权威的信息源.它包含你所存储的数据的必要字段和行为.通常,每个模型对应数据库中唯一的一张表. 每个模型都是dhango.db.models.Model 的一个P ...
- Thinkphp5.0 的Model模型
Thinkphp5.0 的Model模型 新建user模型User.php: <?php namespace app\index\model; use think\Model; class Us ...
随机推荐
- 什么是 Java 的 AOT(Ahead-Of-Time)?
Java 的 AOT(Ahead-Of-Time) 1. 定义 AOT(Ahead-Of-Time)编译是与 JIT(Just-In-Time)相对的一种编译方式. 在 AOT 模式下,Java 字节 ...
- Java 单元测试简单扫盲
前言 仔细回想起来,上次认真编写单元测试已经是两年前的事了.那时候觉得写单元测试是种负担. 为了应付代码覆盖率要求,常常依赖工具自动生成测试用例,有时需要启动Spring容器,有时又不需要(当时还分不 ...
- win10、win11环境下查看IIS里各项目资源占用情况
参照链接: [如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?] - 走看看 (zoukankan.com) 概念: 简单理解IIS应用程序池 应用程序池可以看成是计算机分配给Web应 ...
- BURP APP HTTPS抓包xposed+justtrustme工具篇
APP HTTPS抓包 当APP是HTTPS时,则单纯的使用Burpsuite无法抓取数据包,原因是APP启用了SSL Pinning(又叫做"SSL证书绑定"). 1.下载夜神模 ...
- tar命令打包指定目录及其文件,而不包括其上级目录
想指定将/var目录下的log目录及其文件打包到当前目录,在压缩包解压时不包括/var目录,可使用如下方式: tar -zcvf log_bak.tar.gz -C /var/ log # 注意log ...
- SQL 强化练习 (八)
继续练习写sql, 不能停下来. 今天还额外对 Excel 拼接 sql 语句做了一个代码实现, 逻辑是蛮简单的, 发现其实很多东西都是蛮简单的, 只要一点点去做, 明白逻辑过后, 慢慢去调试, 都是 ...
- .NET+AI | eShopSupport 知多少
eShopSupport 项目深度解析 eShopSupport 项目的整体架构示意图.左侧为离线运行的工具(DataGenerator.DataIngestor.Evaluator)用于数据准备和评 ...
- JuiceFS v1.3-beta1:新增 Python SDK,特定场景性能 3 倍于 FUSE
在当前众多 AI 和数据科学应用中,Python 已成为最主流的编程语言之一.为了方便用户在这些场景中更高效地使用 JuiceFS,我们在社区版 v1.3 中推出了 JuiceFS Python SD ...
- codeup之数组元素原地逆置
Description 将一个长度为10的整型数组中的值按逆序重新存放. 如:原来的顺序为1,2,3,4,5,6,7,8,9,0,要求改为0,9,8,7,6,5,4,3,2,1 Input 从键盘上输 ...
- ZigZag Conversion——LeetCode进阶路⑥
原题链接https://leetcode.com/problems/zigzag-conversion/ 没开始看题目时,小陌发现这道题似乎备受嫌弃,被n多人踩了,还有点小同情 题目描述 The st ...