我是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的属性,以便从它们中获取自定义属性。
提前感谢您的帮助!