当前位置: 首页 > 编程语言 > C#

如何获取MethodInfo的通用扩展方法?分享

时间:2023-04-11 01:08:40 C#

如何获取MethodInfo的通用扩展方法?我有一个IEnumerable,我想通过反射调用Enumerable.Contains方法。我只是想让语法正确。这是我现在拥有的:varcontainsMethod=typeof(Enumerable).GetMethod("Contains",new[]{typeof(IEnumerable),typeof(T)});这只是返回空值。获取MethodInfo的正确方法是什么?获取MethodInfo的正确方法是什么?您必须找到通用方法——不幸的是有点麻烦——然后用适当的参数构造它。在这种情况下,您知道只有2个Contains重载并且您想要包含两个参数,因此您可以使用:varmethod=typeof(Enumerable).GetMethods().Where(m=>m.Name=="Contains").Single(m=>m.GetParameters().Length==2).MakeGenericMethod(typeof(T));然后您应该能够适当地调用它。以上就是C#学习教程:如何获取MethodInfo的通用扩展方法?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢