前言

项目中实例化的对象,对象中里面很有很多属性,有些是我们不需要的,有些是我们需要的,例如在下面的示例中: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. Linux CentOs基本命令

    基本操作(命令模式下) yy --复制光标所在行 nyy --n为数字,复制光标所在向下n行 p --粘贴到光标的下一行 P --贴在光标的上一行 G --光标移到文件末尾 gg --光标移到文件头 ...

  2. 2.1 Scala语言概述

    一.编程范式 命令式编程没有办法充分利用多核CPU: 函数式编程很多变量是不可修改的. 二.Scala简介 特点 scala运行在JVM上,兼容现有的Java程序: 面向对象的编程语言: 一门函数式语 ...

  3. 用Jetpack的Site Accelerator为网站CDN加速

    Jetpack 的Site Accelerator站点加速器(前身为 Photon,注意:“Photon”现在是站点加速器的一部分)允许 Jetpack 优化图像并通过他们的全球服务器网络CDN提供图 ...

  4. 02-人脸识别-基于MTCNN,框选人脸区域-detect_face

    (本系列随笔持续更新) 这部分代码是基于参考中的链接,修改后适用于TensorFlow1.6.0版本的代码.由于TensorFlow的频繁更新,所以不一定支持后续新或者就版本,特此说明. 程序的最初版 ...

  5. springboot配置spring security 静态资源不能访问

    在springboot整合spring security 过程中曾遇到下面问题:(spring boot 2.0以上版本   spring security 5.x    (spring  secur ...

  6. VMware虚拟机安装使用及系统安装教程

    虚拟机是利用软件来模拟出完整计算机系统的工具.具有完整硬件系统功能的.运行在一个完全隔离环境中.虚拟机的使用范围很广,如未知软件评测.运行可疑型工具等,即使这些程序中带有病毒,它能做到的只有破坏您的虚 ...

  7. html--前端jquery基础实例

    一.左边的菜单栏 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. 配置好运行后Error creating context 'spring.root': Could not load type from string value

    在Webconfig文件的当前项目下引用相关项目

  9. 洛谷4965 薇尔莉特的打字机(Trie,DP)

    神仙题. 考虑在一棵 Trie 上进行染色,将可能出现的串的末尾染成黑色.答案就是黑点的个数.一开始只有 \(A\) 的末尾点是黑色. 当出现一个字符(不是退格)\(c\) 时,就要将每个黑点的 \( ...

  10. [LeetCode] 885. Spiral Matrix III 螺旋矩阵之三

    On a 2 dimensional grid with R rows and C columns, we start at (r0, c0) facing east. Here, the north ...