1234567891011121314151617181920212223242526 |
- using System.Collections.Generic;
- using System.Dynamic;
-
- namespace Teknik.Utilities
- {
- public static class ObjectHelper
- {
- public static dynamic Merge(object item1, object item2)
- {
- if (item1 == null || item2 == null)
- return item1 ?? item2 ?? new ExpandoObject();
-
- dynamic expando = new ExpandoObject();
- var result = expando as IDictionary<string, object>;
- foreach (System.Reflection.PropertyInfo fi in item1.GetType().GetProperties())
- {
- result[fi.Name] = fi.GetValue(item1, null);
- }
- foreach (System.Reflection.PropertyInfo fi in item2.GetType().GetProperties())
- {
- result[fi.Name] = fi.GetValue(item2, null);
- }
- return result;
- }
- }
- }
|