资讯专栏INFORMATION COLUMN

.NET获取实例化对象的部分属性名称

Bmob / 2416人阅读

摘要:是入参实例定义实例化对象修改项目请求参数主键项目编号庆达西编号获取实例化对象的属性名称。

前言

项目中实例化的对象,对象中里面很有很多属性,有些是我们不需要的,有些是我们需要的,例如在下面的示例中: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 IsDelete { get; set; }
        public string JointNumber { get; set; }
        public string OtherJoint { get; set; }
        public string CreateBy { get; set; }
        public Nullable CreateTime { get; set; }
        public string ModifiedBy { get; set; }
        public Nullable ModifiedTime { get; set; }
    }
}
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace ServiceMe.Apps.Business.Common.Models.RequestModel
{
    /// 
    /// 修改项目请求参数
    /// 
    public class UpdateProjectRequest
    {
        /// 
        /// 主键ID
        /// 
        public int? ID { get; set; }
 
        /// 
        /// 项目编号
        /// 
        public string ProjectNumber { get; set; }
 
        /// 
        /// 庆达西编号
        /// 
        public string CimtasNumber { get; set; }
 
        /// 
        /// root1
        /// 
        public string Root1 { get; set; }
 
        /// 
        /// Root2
        /// 
        public string Root2 { get; set; }
 
        /// 
        /// Fill1
        /// 
        public string Fill1 { get; set; }
 
        /// 
        /// Fill2
        /// 
        public string Fill2 { get; set; }
 
        /// 
        /// Fill3
        /// 
        public string Fill3 { get; set; }
 
        /// 
        /// Fill4
        /// 
        public string Fill4 { get; set; }
 
        /// 
        /// Fill5
        /// 
        public string Fill5 { get; set; }
 
        /// 
        /// Fill6
        /// 
        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 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、结果。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110541.html

相关文章

  • Spring详解2.理解IoC容器

    摘要:目前建议使用与。入參是当前正在处理的,是当前的配置名,返回的对象为处理后的。如果,则将放入容器的缓存池中,并返回。和这两个接口,一般称它们的实现类为后处理器。体系结构让容器拥有了发布应用上下文事件的功能,包括容器启动事件关闭事件等。 点击进入我的博客 1 如何理解IoC 1.1 依然是KFC的案例 interface Burger { int getPrice(); } in...

    Ververica 评论0 收藏0
  • VUE

    摘要:注意指令前面需要加,对指令传递数据赋值使用例如约定速成加上,表示自定义指令不要使用驼峰式命名。需要通过方法实现自定义指令注册完成。 vue Vue.js 构建数据驱动的web界面库。集中实现MVVM 的 VM层。容易与其他库或项目整合 通过尽可能简单的API实现相应的数据绑定和组合的视图组件核心:相应的数据绑定系统, 数据与DOM保持同步数据驱动的视图,普通的HTML模板中使用特殊的语...

    bergwhite 评论0 收藏0
  • Laravel源码解析之反射使用

    摘要:本章讲解反射类的使用及对反射的使用。各位很清楚,方法用于解析类,所有方法的实现一定是在引用的文件内。致谢感谢你看到这里,本篇文章源码解析靠个人理解。 showImg(https://segmentfault.com/img/bVbhjvY?w=600&h=296); 前言 PHP的反射类与实例化对象作用相反,实例化是调用封装类中的方法、成员,而反射类则是拆封类中的所有方法、成员变量,并...

    pinecone 评论0 收藏0
  • Java基础知识整理之static修饰方法

    摘要:前面一篇已经介绍了部分关于的用法,主要是介绍的是修饰变量的一些知识。现在的这篇介绍下修饰方法。方法调用非方法或者属性错误的调用以下的操作都在下面进行的。只能调用属性或者方法。所有的定于的结构不受实例化对象的控制。 前面一篇已经介绍了部分关于 static 的用法,主要是介绍的是 static 修饰变量的一些知识。现在的这篇介绍下 static 修饰方法。 static 修饰方法 没有实...

    BothEyes1993 评论0 收藏0
  • BackBone

    摘要:弱化了使用依赖的工具库等等创建模型构造函数默认值表示模型类的默认值,当模型实例化的时候,这些默认值就会被赋值上。 backbone Backbone.js提供模型(models)、集合(collections)、视图(views)的结构。 Models: 是引用程序的核心,也是表示数据,用于绑定键值数据和自定义事件 Collectoins:是对Model的一个容器,包含多个模型,并提...

    charles_paul 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<