前言

项目中实例化的对象,对象中里面很有很多属性,有些是我们不需要的,有些是我们需要的,例如在下面的示例中:ID,CreateBy等属性在CB_Projects对象中是不需要的,在获取实例化对象属性名称的时候需要把这些属性过滤掉。UpdateProjectRequest是入参实例

1、定义实例化对象

using System;
using System.Collections.Generic; namespace ServiceMe.Apps.Business.Common.DAL
{ public partial class CB_Projects
{
public int ID { get; set; }
public string ProjectNumber { get; set; }
public string CimtasNumber { get; set; }
public string Root1 { get; set; }
public string Root2 { get; set; }
public string Fill1 { get; set; }
public string Fill2 { get; set; }
public string Fill3 { get; set; }
public string Fill4 { get; set; }
public string Fill5 { get; set; }
public string Fill6 { get; set; }
public Nullable<bool> IsDelete { get; set; }
public string JointNumber { get; set; }
public string OtherJoint { get; set; }
public string CreateBy { get; set; }
public Nullable<System.DateTime> CreateTime { get; set; }
public string ModifiedBy { get; set; }
public Nullable<System.DateTime> ModifiedTime { get; set; }
}
} using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace ServiceMe.Apps.Business.Common.Models.RequestModel
{
/// <summary>
/// 修改项目请求参数
/// </summary>
public class UpdateProjectRequest
{
/// <summary>
/// 主键ID
/// </summary>
public int? ID { get; set; } /// <summary>
/// 项目编号
/// </summary>
public string ProjectNumber { get; set; } /// <summary>
/// 庆达西编号
/// </summary>
public string CimtasNumber { get; set; } /// <summary>
/// root1
/// </summary>
public string Root1 { get; set; } /// <summary>
/// Root2
/// </summary>
public string Root2 { get; set; } /// <summary>
/// Fill1
/// </summary>
public string Fill1 { get; set; } /// <summary>
/// Fill2
/// </summary>
public string Fill2 { get; set; } /// <summary>
/// Fill3
/// </summary>
public string Fill3 { get; set; } /// <summary>
/// Fill4
/// </summary>
public string Fill4 { get; set; } /// <summary>
/// Fill5
/// </summary>
public string Fill5 { get; set; } /// <summary>
/// Fill6
/// </summary>
public string Fill6 { get; set; }
}
}

2、获取实例化对象的属性名称。

 public static void Main(string[] args, [FromBody]UpdateProjectRequest req)
{
CB_Projects cbProjects = new CB_Projects()
{
ProjectNumber = req.ProjectNumber,
CimtasNumber = req.CimtasNumber,
Root1 = req.Root1,
Root2 = req.Root2,
Fill1 = req.Fill1,
Fill2 = req.Fill2,
Fill3 = req.Fill3,
Fill4 = req.Fill4,
Fill5 = req.Fill5,
Fill6 = req.Fill6,
ModifiedBy = req.UserAccount,
ModifiedTime = DateTime.Now
};
PropertyInfo[] propertyInfos = typeof(CB_Projects).GetProperties();
List<string> nameList = propertyInfos.Where(t => t.GetValue(cbProjects) != null && t.Name.ToUpper() != "ID").Select(t => t.Name).ToList();
string str = string.Join(",", nameList);
string[] strArray = str.Split(',');
}

3、结果。

 

 

.NET获取实例化对象的部分属性名称的更多相关文章

  1. c# 获取某个对象的[公有属性]的名称,类型,值

    /// <summary> /// 获取某个对象的[公有属性]的名称,类型,值 /// </summary> /// <typeparam name="T&qu ...

  2. js遍历对象所有的属性名称和值

    /* * 用来遍历指定对象所有的属性名称和值 * obj 需要遍历的对象 * author: Jet Mah * website: http://www.javatang.com/archives/2 ...

  3. Python+Selenium 自动化实现实例-获取测试对象的Css属性

    #coding:utf-8 '''获取测试对象的css属性场景 当你的测试用例纠结细枝末节的时候,你就需要通过判断元素的css属性来验证你的操作是否达到了预期的效果.比如你可以通过判断页面上的标题字号 ...

  4. 获取当前对象的key的名称

    获取当前对象的key的名称(无法获取),只能曲线救国 通过给标签添加class,id, 然后通过对class的遍历,来获取到id(这个id对应数据库的字段,所以对应对象的key) 然后再给 id 赋值 ...

  5. 遍历JavaScript某个对象所有的属性名称和值

    /* * 用来遍历指定对象所有的属性名称和值 * obj 需要遍历的对象 */ function allPrpos(obj) { // 用来保存所有的属性名称和值 var props = " ...

  6. 对js原型对象、实例化对象及prototype属性的一些见解

    什么是原型对象? 请看下面的代码,我们以各种姿势,创建了几个方法! function fn1() { } var fn2 = function () { } var fn3 = new Functio ...

  7. Python直接改变实例化对象的列表属性的值 导致在flask中接口多次请求报错

    错误原理实例如下: class One(): list = [1, 2, 3] @classmethod def get_copy_list(cls): # copy一份list,这样对list的改变 ...

  8. Python脚本控制的WebDriver 常用操作 <十八> 获取测试对象的css属性

    测试用例场景 当你的测试用例纠结细枝末节的时候,你就需要通过判断元素的css属性来验证你的操作是否达到了预期的效果.比如你可以通过判断页面上的标题字号以字体来验证页面的显示是否符合预期.当然,这个是强 ...

  9. C#获取一个实体类的属性名称、属性值

    using System.Reflection; Type t = obj.GetType();//获得该类的Type foreach (PropertyInfo pi in t.GetPropert ...

随机推荐

  1. 软件设计师【软件工程:软件开发模型、XP极限编程十二最佳实践】

    一.软件开发模型 二.XP极限编程十二最佳实践

  2. MongoDB 4.X 用户和角色权限管理总结

    关于MongoDB的用户和角色权限的梳理一直不太清晰,仔细阅读了下官方文档,并对此做个总结. 默认情况下,MongoDB实例启动运行时是没有启用用户访问权限控制的,也就是说,在实例本机服务器上都可以随 ...

  3. 【转载】CMake 两种变量原理

    原文地址:https://cslam.cn/archives/c9f565b5.html 摘要: 本文记录一下 CMake 变量的定义.原理及其使用.CMake 变量包含 Normal Variabl ...

  4. 程序员代码面试指南 IT名企算法与数据结构题目最优解

    原文链接 这是一本程序员面试宝典!书中对IT名企代码面试各类题目的最优解进行了总结,并提供了相关代码实现.针对当前程序员面试缺乏权威题目汇总这一痛点,本书选取将近200道真实出现过的经典代码面试题,帮 ...

  5. vue如何解析xml文件 x2js

    好久没来写东西了,主要是一直在加班,哼哼,不开心 项目中会用到将xml文件解析成json文件在页面中显示出来,以前jq的时候用到的方法行不通了,故在这边介绍一种我觉得还不错的插件 1. npm安装 n ...

  6. JS高阶---instanceof

    一句话: .

  7. kali下ll命令无法使用

    重装了系统之后,使用ll命令竟然发现报错了. bash: ll:未找到命令   果断解决一波: vim ~/.bashrc   将alias ll=’ls -l‘前面的注释符号#删掉 运行   问题完 ...

  8. 201871010112-梁丽珍《面向对象程序设计(java)》第十五周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  9. windows下载的java项目部署到linux的各种解决方案

    1.Java是跨平台的,在linux下有问题,主要一是文件读取权限:二检查下系统环境变量设置可正确!.profile JavaWeb_将Windows平台上开发的JavaWeb项目部署到Linux平台 ...

  10. LeetCode3-Longest_Substring_Without_Repeating_Characters

    参考思路 https://github.com/azl397985856/leetcode/blob/master/problems/3.longestSubstringWithoutRepeatin ...