我知道如何使用反射来获取属性,但是如何获得属性的函数名称和类型:
例如:Combobox.Items.Add
我想获得信息。用反射“添加”。这可能在.Net吗?
答案 0 :(得分:3)
我想获得信息。用反射“添加”。这可能在.Net吗?
是
只需使用Type.GetMethod
即可。所以,在这里你必须说:
var addMethodInfo = typeof(ObjectCollection).GetMethod("Add");
我使用ComboBox.Items
属于System.Windows.Forms.ComboBox.ObjectCollection
类型的事实。
答案 1 :(得分:0)
如果您需要获取给定对象的所有方法,请尝试
MethodInfo[] MI = Combobox.Items.GetType().GetMethods ();
// you can then loop over MI and access the method name for example MI[0].Name or even Invoke the method etc.
答案 2 :(得分:0)
您可以使用Reflection来获取描述方法的MethodInfo对象:
MethodInfo[] method = Combobox.Items.GetType().GetMethods();
完成此操作后,您可以使用MethodInfo的方法和属性 访问和查看有关该方法的信息。
获取此方法接收的参数:
MethodInfo[] method = Combobox.Items.GetType().GetMethods();
// equivalent to previous code.
// MethodInfo[] method = typeof(ObjectCollection).GetMethods();
MethodInfo someMethod = method[0];
ParameterInfo[] parameters = someMethod.GetParameters();