/// <summary> /// emit方式给属性赋值 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj">对象</param> /// <param name="propertyName">属性名</param> /// <param name="propertyValue">值</param> public static void EmitSet <T>(T obj, string propertyName, object propertyValue) where T : class { var setter = EmitHelper <T> .EmitSetter(propertyName); setter(obj, propertyValue); }
/// <summary> /// emit方式获取属性值 /// </summary> /// <typeparam name="T">对象类型</typeparam> /// <param name="obj">对象</param> /// <param name="propertyName">属性名</param> /// <returns></returns> public static object EmitGet <T>(T obj, string propertyName) where T : class { var getter = EmitHelper <T> .EmitGetter(propertyName); return(getter(obj)); }
/// <summary> /// emit方式获取属性值 /// </summary> /// <typeparam name="ObjectT">对象类型</typeparam> /// <typeparam name="ReturnT">返回类型</typeparam> /// <param name="obj">对象</param> /// <param name="propertyName">属性名</param> /// <returns></returns> public static ReturnT EmitGet <ObjectT, ReturnT>(ObjectT obj, string propertyName) where ObjectT : class { var getter = EmitHelper <ObjectT> .EmitGetter <ReturnT>(propertyName); return(getter(obj)); }