如何使用反射获取参数字段的属性

时间:2019-05-28 05:14:14

标签: c#

我是C#的新手,需要一点帮助。我需要获取方法参数的列表,获取参数值,然后获取字段getter / setter属性的自定义属性。

我能够获取参数和字段值,但无法找到获取属性和自定义属性的方法。如果有更有效或更好的方法,请告诉我。

Object obj = Activator.CreateInstance(type);

MethodInfo methodInfo = obj.GetType().GetMethods()
                   .Where(x=> x.Name == type.Name)
               .OrderBy(x=> x.GetParameters().Length)
               .Last();
ParameterInfo[] paramInfo = methodInfo.GetParameters();

foreach(var param in paramInfo)
{
  FieldInfo fi = obj.GetType().GetField( param.Name,BindingFlags.Instance   
   BindingFlags.NonPublic);

  //Here I'm just displaying the values fi.Name and fi.GetValue(obj) for now.

}

这似乎可以很好地获取值,但是我不确定某些参数是否最终会带有BackingField,所以我也必须解决这个问题。

我真正需要做的是现在获取getter / setter的属性,以便从它们中获取自定义属性。

提前感谢您的帮助!

0 个答案:

没有答案