前言
项目中实例化的对象,对象中里面很有很多属性,有些是我们不需要的,有些是我们需要的,例如在下面的示例中: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、结果。