mirror of
https://git.teknik.io/Teknikode/Teknik.git
synced 2023-08-02 14:16:22 +02:00
28 lines
850 B
C#
28 lines
850 B
C#
using System;
|
|
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;
|
|
}
|
|
}
|
|
}
|