我需要动态设置对象上的值或属性的值,称之为传输对象.
将会创建相当数量的这些传输对象,并在短时间内设置其属性.我想避免使用反射.
还有替代品吗?如果是这样的样本实现我可以看一下?
我有一个方法,通过7,753+对象使用循环并获取每个对象的每个属性的值.每个对象都有14属性.
private void InitializeData(IList objects, PropertyInfo[] props, List<DPV> dataPs, List<Dictionary<string, object>> tod)
{
foreach (var item in objects)
{
var kvp = new Dictionary<string, object>();
foreach (var p in props)
{
var dataPs = dataPs.FirstOrDefault(x => x.Name == p.Name);
object returnData;
if (dataPoint != null)
{
int maxLength = (dataP.MaxLength == null) ? 0 : (int) dataP.MaxLength;
returnData = p.GetValue(item, null);
if (!string.IsNullOrEmpty(dataP.FormatString) && !string.IsNullOrEmpty(returnData.ToString()))
{
returnData = FormatDataForDisplay(returnData, dataP, maxLength, "", 8);
}
}
else …Run Code Online (Sandbox Code Playgroud)