Почему JSRuntime.InvokeAsync завершается ошибкой, когда ему передается IEnumerable<MyClass <T >>, когда T не является строкой?
Запустив последнюю версию предварительного просмотра Blazor, на стороне клиента, у меня есть приложение, которое загружает IEnumerable<MyClass<T>> data
простого родового класса:
public class MyClass<T>
{
public string ID { get; set; }
public T Value { get; set; }
}
Я передаю это IEnumerable
в JSRuntime.InvokeAsync
вот так:
await JSRuntime.InvokeAsync<object>("renderChart", data);
Когда T является типом string
, это работает как ожидалось. Когда T является типом double
или же float
это терпит неудачу с ошибками:
WASM: System.InvalidCastException: Specified cast is not valid.
WASM: at System.Text.Json.ReflectionMemberAccessor+<>c__DisplayClass11_0`2[TClass,TProperty].<CreatePropertyGetter>b__0 (System.Object obj) <0x2951800 + 0x0000c> in <e1cfca862e6a44dbaac6737c11b98f37>:0`
Функция JavaScript не делает ничего, кроме записи значения:
function renderChart(data) {
console.log("Data:", data);
}
Что здесь не так?