我需要做一些以下的反思:
List<KeyvaluePair<string,string>>
,其中键将是属性名称,值将来自object属性。我想这可以通过linq和/或lambda表达式轻松完成,但不知道如何。
我到目前为止的代码是:
SyncJobs_Result job = (SyncJobs_Result)entity.Entity;
var properties = typeof(SyncJobs_Result ).GetProperties(BindingFlags.Static | BindingFlags.Public).Select(p => p.Name.Contains("Role"));
如何构建列表&gt;出于这个?键是列或属性名称,值是属性值
答案 0 :(得分:3)
SyncJobs_Result job = (SyncJobs_Result)entity.Entity;
var properties = typeof(SyncJobs_Result)
.GetProperties(BindingFlags.Static | BindingFlags.Public)
.Where(p => p.Name.Contains("Role") && p.PropertyType == typeof(string))
.Select(p => new KeyValuePair<string, string>(p.Name, p.GetValue(job, null) as string))
.ToList();
在没有Visual Studio的情况下编写,因此可能存在一两个语法错误,但希望这会指向正确的方向。