c# – 动态执行方法
发布时间:2020-12-15 08:21:10 所属栏目:百科 来源:网络整理
导读:我确信这个问题已在某个地方得到解答,但我遇到了一些重大问题,找到了正确的关键字组合来找到它. 我很想知道它是否有可能做到这样的事情: dynamic someObj = new SomeObject();var methodName = "someMethodName";// execute methodName on someObj 我基本上
我确信这个问题已在某个地方得到解答,但我遇到了一些重大问题,找到了正确的关键字组合来找到它.
我很想知道它是否有可能做到这样的事情: dynamic someObj = new SomeObject(); var methodName = "someMethodName"; // execute methodName on someObj 我基本上想知道是否可以使用存储方法名称的变量在动态对象上执行方法. 解决方法
您可以在任何对象上执行此操作,不一定是使用
reflection的动态对象.
object obj = new SomeObject(); var meth = obj.GetType().GetMethod("someMethodName"); meth.Invoke(obj,new object[0]); // assuming a no-arg method 使用dynamic时,可以使用方法名称的任何标识符,编译器不会抱怨: dynamic obj = MakeSomeObject(); obj.someMethodName(); // Compiler takes it fine,even if MakeSomeObject returns an object that does not declare someMethodName() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AJAX响应可以设置cookie吗?
- Swift - 标签条(UITabBar)标签页控制器(UITabBarControl
- jsonp 不调用返回函数,,不执行success方法?
- Swift学习笔记系列——(12)继承
- Swift语言开发:仿Clear手势操作(拖拽、划动、捏合)UITable
- c# – 垃圾收集器是否在.NET中异步调用期间暂时删除未引用的
- ios – UITableViewCellStyleSubtitle单元格的分隔线不占用
- [Swift]LeetCode626. 换座位 | Exchange Seats
- uiview – 如何在Swift主视图中添加子视图
- Vue项目添加动态浏览器头部title的方法