我需要在对象上调用方法,但直到运行时我才知道方法名称。
有哪些可用的技术?
(例如 GetMethod().Invoke()、委托、c# 4.0 动态)
谢谢!
我需要在对象上调用方法,但直到运行时我才知道方法名称。
有哪些可用的技术?
(例如 GetMethod().Invoke()、委托、c# 4.0 动态)
谢谢!
C# 4.0dynamic
功能将是执行此操作的最简单方法。在一个非常真实的意义上,dynamic
它只是反射的“包装器”。不过,它是一个非常好的包装器,这可能是您的最佳选择。
其他方式,难度大致增加:
最后三个不适合胆小的人。最好的办法是使用dynamic
或编写自己的反射代码。如果dynamic
三年前我为类似的东西编写代码时,我会使用它。
您可以使用反射来调用直到运行时才知道名称的函数。这是一些文档:
http://msdn.microsoft.com/en-us/library/f7ykdhsy%28VS.80%29.aspx