gpt4 book ai didi

c# - 获取 Enumerable.DefaultIfEmpty 的方法信息

转载 作者:太空狗 更新时间:2023-10-30 01:09:36 25 4
gpt4 key购买 nike

我正在构建一些 Linq 表达式并试图获取 IEnumerable.DefaultIfEmpty ( http://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,您必须具有完全正确的参数类型,包括参数的正确泛型类型参数。一旦你得到了那个一次你就可以做到,但在那之前我认为以上是所有可用的:(

关于c# - 获取 Enumerable.DefaultIfEmpty 的方法信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6384031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com