Я хотел бы использовать деревья выражений Linq для вызова индексатора Span<T>
. Код выглядит так:
var spanGetter = typeof(Span<>)
.MakeGenericType(typeof(float)).GetMethod("get_Item");
var myFloatSpan = Expression.Parameter(typeof(Span<float>), "s");
var myValue = Expression.Call(
myFloatSpan,
spanGetter,
Expression.Constant(42));
var myAdd = Expression.Add(
myValue,
Expression.Constant(13f));
Тем не менее, этот код выходит из строя, потому что myValue
имеет тип Single&
(aka ref struct
) вместо типа Single
(aka struct
).
Как оценить Span<T>
из дерева выражений?