我被困在一个问题上。我有这样的代码:
ITest test= ObtainObject(); //ObtainObjectimplementation omitted
Type type = test.GetType();
MethodInfo method = type.GetMethod("Display");
method.Invoke(test, new object[] {"hi"});
interface ITest {
[LoggerAspect]
Display(String msg);
}
class Test : ITest
{
public void Display(String msg)
{
MessageBox.Show(msg);
}
}
问题是当我更换
method.Invoke(test, new object[] {"hi"});
和
test.Display("Hi")
一切,包括方面,工作正常。测试是一个代理对象,如果我在该代理上调用调用它会抛出我
TargetException: Object does not match target type
问题是我需要使用反射,你们有没有遇到过这样的问题?感谢您的建议