动作调用基于字符串值的方法
有没有办法使用 Action 来调用基于包含该方法名称的字符串值的方法?
Is there a way to use Action to call a method based on a string value that contains the name of that method?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Action
只是一个可以指向给定方法的委托类型。如果您想调用名称仅在运行时已知并存储在字符串变量中的方法,则需要使用反射:按照@Andrew的建议,您可以使用 Delegate.CreateDelegate 从 MethodInfo 创建委托类型:
Action<T>
is just a delegate type that could point to a given method. If you want to call a method whose name is known only at runtime, stored in a string variable, you need have to use reflection:As suggested by @Andrew you could use Delegate.CreateDelegate to create a delegate type from a MethodInfo:
我认为您并不真正想要一个
Action
只是一个常规方法。I don't think you really want an
Action<T>
just a regular method.