我该如何在下面的代码中使用反射来调用“MyMethod”。
我有一个现有的 C# 代码,它具有预定义的结构,我不允许更改。我需要使用反射调用类中存在的方法。
在下面的代码中,“_instance”包含“Foo”对象。我需要在 Consumer 类中使用“PropElementHighlighter”属性调用“MyMethod”。
使用系统反射;
public class Foo
{
public void MyMethod(string Argument)
{
//some code
}
}
public class MainWindow
{
private Foo _instance;
public Foo PropElementHighlighter { get { return _instance; } }
}
public class Consumer
{
Type control = MainWindow.GetType();
PropertyInfo l_propInfo = control.GetProperty("PropElementHighlighter", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
MethodInfo l_HighlightMethodInfo = l_propInfo.PropertyType.GetMethod("MyMethod");
l_HighlightMethodInfo.Invoke(l_propInfo, new object[]{"Parameter1"});
}
我收到错误“对象与目标类型不匹配”。调用方法时。
素胚勾勒不出你
相关分类