Почему 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);
}

Что здесь не так?

0 ответов

Другие вопросы по тегам