Я пытаюсь извлечь метод Count, чтобы потом использовать его для построения дерева выражений.
var g = Expression.Parameter(typeof(IEnumerable<float?>), "g");
var countMethod = typeof(Enumerable)
.GetMethods()
.Single(m => m.Name == "Count" && m.GetParameters().Count() == 1);
var countMaterialized = countMethod
.MakeGenericMethod(new[] { g.Type });
var expr = Expression.Call(countMaterialized, g);
Выдает эту ошибку:
System.ArgumentException: 'выражение типа' System.Collections.Generic.IEnumerable 1[System.Nullable
1 [System.Single]] 'нельзя использовать для параметра типа' System.Collections.Generic.IEnumerable 1[System.Collections.Generic.IEnumerable
1 [ System.Nullable 1[System.Single]]]' of method 'Int32 Count[IEnumerable1](System.Collections.Generic.IEnumerable
1 [System.Collections.Generic.IEnumerable 1[System.Nullable
1 [System.Single]]]) ''
Чего мне не хватает?