灵感来源: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的更多相关文章

  1. Backbone源码解析(二):Model(模型)模块

    Model(模型)模块在bk框架中的作用主要是存储处理数据,它对外和对内都有很多操作数据的接口和方法.它与视图(Views)模块精密联系着,通过set函数改变数据结构从而改变视图界面的变化.下面我们来 ...

  2. MVC(Model(模型) View(视图) Controller(控制器))

    复习 1.      商品表 增删改查 index.php  add.php   view.php   edit.php   action.php 2.      MVC(Model(模型)  Vie ...

  3. django Model模型二及Model模型对数据库的操作

    在django模型中负责与数据库交互的为Model层,Model层提供了一个基于orm的交互框架 一:创建一个最基本的Model from __future__ import unicode_lite ...

  4. tp框架-----Model模型层

    1.Model模型层是用来做什么的呢? 主要是用来做操作数据库访问的.也就说明TP框架自带了一种访问数据库的方式,使用的是Model模型. 2.Model模型怎样使用呢? 要使用Model模型层访问数 ...

  5. keras系列︱Sequential与Model模型、keras基本结构功能(一)

    引自:http://blog.csdn.net/sinat_26917383/article/details/72857454 中文文档:http://keras-cn.readthedocs.io/ ...

  6. thinkphp5 model 模型

    新增更新都是save.saveAll  怎么识别他们 实例化模型后调用save方法表示新增: 查询数据后调用save方法表示更新: save方法传入更新条件后表示更新: isUpdate(true): ...

  7. Django Model模型的实战操作笔记

    Model模型的实战操作笔记 1. 创建数据库和表 进入MySQL数据库创建数据库:mytest 进入数据库创建数据表:mytest_users CREATE TABLE `mytest_users` ...

  8. TP框架---Model模型层---做模型对象

    TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...

  9. Model 模型

    Model 模型模型是你的数据的唯一的.权威的信息源.它包含你所存储的数据的必要字段和行为.通常,每个模型对应数据库中唯一的一张表. 每个模型都是dhango.db.models.Model 的一个P ...

  10. Thinkphp5.0 的Model模型

    Thinkphp5.0 的Model模型 新建user模型User.php: <?php namespace app\index\model; use think\Model; class Us ...

随机推荐

  1. ASP.NET Core 项目归档

    把一些基于 ASP.NET Core 的实用项目找个地方记录下... 项目列表: IdentityServer

  2. restful 服务器一个问题,看ChatGPT的威力

    看看是否牛逼: 真不是写代码的料,也没有这样的天赋,仅仅玩玩而已. 问题:客户端边缘路由中一段js代码,使用get请求一个方法,把json数据送入数据库相关表.由于种种原因导致长连接,通过资源管理器可 ...

  3. Clion搭建C++开发环境

    1.下载和安装MinGW 1)下载链接:http://www.mingw.org/ 2)选择安装目录,目录尽可能简单(如:D:\MinGW)且不要包含中文和空格 3)添加相关的包 所需的包如下:min ...

  4. java的打包(JAR、War)

    一.Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing i ...

  5. MCP Server Java 开发框架的体验比较(spring ai mcp 和 solon ai mcp)

    目前已知的两个 mcp-server java 应用开发框架(ID类的,封装后体验都比较简洁): spring-ai-mcp,支持 java17 或以上 solon-ai-mcp,支持 java8 或 ...

  6. Spring基于注解的IOC配置

    目录 基于注解的IOC配置 1.用于创建对象的注解 2.用于注入数据的 3.用于改变作用范围的 和生命周期相关 基于注解的IOC配置 曾经XML的配置 <bean id="accoun ...

  7. 【经验】VScode 远程 SSH 连接 Ubuntu 或 TrueNas 出错,Could not establish connection

    用VScode常常会碰到以下情况,Could not establish connection. 先介绍一下VScode远程连接和终端SSH连接的区别:终端直接用SSH连接时,只需要开启SSH服务,并 ...

  8. JS函数调用的5种模式

    函数是经常会用的工具, 这里总结一下关于在 js 中的 5种函数调用的模式如下: <!DOCTYPE html> <html lang="en"> < ...

  9. 「硬核科普」C++11锁机制三兄弟大比拼:mutex、lock_guard与unique_lock

    大家好啊,我是小康.今天咱们聊点"家常"--那些让C++程序员又爱又恨的多线程同步工具! 如果你曾经被多线程搞得头大,或者听到"死锁"就心慌,那这篇文章就是为你 ...

  10. 鸿蒙版《智慧农业APP》通过华为云IoT平台实现软件硬件互联

    一.原理图 本篇不涉及硬件相关的功能开发,硬件设备使用MQTT客户端模拟,如果有硬件相关经验的可以直接使用真实硬件代替MQTT客户端. 1.华为云物联网服务器 华为云物联网平台是硬件设备端跟移动APP ...