在客户端运行最新的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);
}
这是怎么了?