Csharp/C#教程:获取Enumerable.DefaultIfEmpty的methodinfo分享


获取Enumerable.DefaultIfEmpty的methodinfo

我正在构建一些Linq Expression并试图获取IEnumerable.DefaultIfEmpty ( https://msdn.microsoft.com/en-us/library/bb360179.aspx )的MethodInfo。 什么似乎是一件容易的事,但我对它为什么不起作用毫无头绪。

 typeof(Enumerable).GetMethod("DefaultIfEmpty", new[] { typeof(IEnumerable) }); typeof(Enumerable).GetMethod("DefaultIfEmpty", new[] { typeof(IEnumerable).MakeGenericType(typeof(WorkitemListModel)) }); 

说实话,获取通用方法很痛苦。 我不知道比使用更好的方法:

 var method = typeof(Enumerable).GetMethods() .Where(m => m.Name == "DefaultIfEmpty") .Where(m => m.GetParameters().Length == 1) .Single(); 

要调用GetMethod ,您必须具有完全正确的参数类型,包括参数的正确generics类型参数。 一旦你能够做到这一点,但是在那之前我认为以上就是可用的:(

上述就是C#学习教程:获取Enumerable.DefaultIfEmpty的methodinfo分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/949951.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐