Exemple #1
0
 /// <summary>
 /// 根据属性名字设定目标实例对应的值
 /// </summary>
 /// <param name="memberName"></param>
 /// <param name="value"></param>
 /// <param name="index"></param>
 public void TrySetValue(string memberName, object value, params object[] index)
 {
     if (FieldTable.TryGetValue(memberName, out FieldInfo fieldInfo))
     {
         fieldInfo.SetValue(_instance, value);
     }
     else if (PropertyTable.TryGetValue(memberName, out PropertyInfo propertyInfo))
     {
         propertyInfo.SetValue(_instance, value, index);
     }
 }
Exemple #2
0
 /// <summary>
 /// 根据属性名字获取目标实例对应的值
 /// </summary>
 /// <param name="memberName"></param>
 /// <param name="value"></param>
 /// <param name="index"></param>
 /// <returns></returns>
 public bool TryGetValue(string memberName, out object value, params object[] index)
 {
     if (FieldTable.TryGetValue(memberName, out FieldInfo fieldInfo))
     {
         value = fieldInfo.GetValue(_instance);
         return(true);
     }
     else if (PropertyTable.TryGetValue(memberName, out PropertyInfo propertyInfo))
     {
         value = propertyInfo.GetValue(_instance, index);
         return(true);
     }
     value = null;
     return(false);
 }