using System.Reflection; using Tanshu.Accounts.Entities; namespace Tanshu.Common.Helpers { public enum VoucherFields { CreationDate, LastEditDate, Date, BillID, KotID } public static class ReflectionHelper { public static void SetValue(this Voucher voucher, VoucherFields field, object value) { var fi = typeof(Voucher).GetField(ConvertToCamelCaseUnderscore(field.ToString()), BindingFlags.NonPublic | BindingFlags.Instance); if (fi != null) fi.SetValue(voucher, value); } private static string ConvertToCamelCaseUnderscore(string propertyName) { return "_" + propertyName[0].ToString().ToLower() + propertyName.Substring(1); } } }