Files
tnb.server/EquipMgr/Tnb.EquipMgr/Utils/PropertySet.cs
DEVICE8\12494 9d30038a7d 1
2023-05-18 18:44:16 +08:00

24 lines
1005 B
C#

using System.Linq.Expressions;
namespace Tnb.EquipMgr.Utils
{
//public class PropertySet<T>
//{
// public static Dictionary<string, Action<object, object>> ValueFactories = new Dictionary<string, Action<object, object>>(StringComparer.OrdinalIgnoreCase);
// public static Action<object, object> CreateSetPropertyValueAction(string propertyName)
// {
// var property = typeof(T).GetProperty(propertyName);
// var target = Expression.Parameter(typeof(object));
// var propertyValue = Expression.Parameter(typeof(object));
// var castTarget = Expression.Convert(target, typeof(T));
// var castPropertyValue = Expression.Convert(propertyValue, property!.PropertyType);
// var setPropertyValue = Expression.Call(castTarget, property.GetSetMethod()!, castPropertyValue);
// return Expression.Lambda<Action<object, object>>(setPropertyValue, target, propertyValue).Compile();
// }
//}
}