我一直在努力处理这种情况。
我有一种情况,我有一个Type
和类型的对象,Func<string, (bool, T)>
其中 T 与Type
. 我希望能够通过反射或其他方式调用它的Invoke
方法。
我Type
在运行时有一些:
Type type;
我有Func
记忆,但作为一个object
:
object func;
底层的 Typefunc
就是我之前描述的。例如,如果type
代表DateTime
,则func
的基础类型将是:
Func<string, (bool, DateTime)>
但是type
在运行时可以是任何东西,所以如果它是一个int
,那么func
现在将是一个
Func<string, (bool, int)>
我如何使用我在运行时拥有正确类型的事实来调用我的 func?我假设我必须使用某种反射,但并没有真正理解它以开始使用。
任何帮助是极大的赞赏。
总的来说,我对反思还很陌生,但我发现它对某些事情来说非常有趣且非常困难。如果您有任何关于阅读的建议或任何其他关于如何更好地学习反思的技巧,那也太棒了!
经过更多思考后编辑/更新:
以dynamic
这种方式使用和调用 Invoke会更好吗?看起来它会工作得很好,但是这就提出了一个问题,为什么你会经历更困难或更长时间的设置反射来调用某些东西的过程,而不是简单的动态调用。
无论如何,我仍然想知道这将如何使用反射来工作,看看会很有趣
繁花如伊
相关分类