public static object PopulateObjectMembers(object obj, MemberInfo[] members, object[] data) { // http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatterservices.populateobjectmembers(v=vs.110).aspx members.Zip(data, (m, value) => { var f = m as FieldInfo; if (f != null) { f.SetValue(obj, value); } return false; } ).ToArray(); return obj; }