Como obter um valor de um Span <T> com árvores de expressão Linq?
Gostaria de usar árvores de expressão Linq para chamar o indexador de umSpan<T>
. O código se parece com:
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));
No entanto, esse código falha porquemyValue
é do tipoSingle&
(akaref struct
) em vez do tipoSingle
(akastruct
)
Como avaliar umSpan<T>
de uma árvore de expressão?