/// <summary> /// 根据名称获取属性 /// </summary> /// <param name="propertyName">属性名</param> /// <returns>属性</returns> public DynProperty GetProperty(string propertyName) { if (!string.IsNullOrEmpty(propertyName)) { return(_dynClass.GetProperty(propertyName)); } else { throw new ApplicationException(string.Format("动态对象{0}获取属性方法中的属性名称不能为空或null", _dynClass.Name)); } }
/// <summary> /// 转化符合属性类型的返回值 /// </summary> /// <param name="obj">输入的值</param> /// <param name="dynPropertyName">输入的参数的属性名</param> /// <param name="result">返回的转化好类型的值</param> /// <returns>是否转换成功</returns> public bool TryPasentValue(object obj, string dynPropertyName, ref object result) { if (_dynClass.ContainsProperty(dynPropertyName)) { return(TryPasentValue(obj, _dynClass.GetProperty(dynPropertyName), ref result)); } else { throw new ApplicationException(string.Format("转化值【{2}】失败:类【{0}】不包含属性【{1}】", this._dynClass.Name, dynPropertyName, obj)); } }