使用ValueChanged和EventCallback <T>时丢弃变量

时间:2020-02-12 21:20:24

标签: c# callback blazor

我尝试无济于事地寻找答案。如果我有以下代码:

<MyObject Value="@SomeVariable" ValueChanged="@((decimal? value) => MyFunction())"

在此示例中,@SomeVariable的类型为decimal?MyObject是通用类型的对象(IE MyObject<T>

如果MyObject是普通类,我可以编写如下代码:

<MyObject Value="@SomeVariable" ValueChanged="@(_ => MyFunction())"

但是,如果它是通用类型的对象,则会出现以下异常:

Error CS1503 Argument 4: cannot convert from 'Microsoft.AspNetCore.Components.EventCallback' to 'Microsoft.AspNetCore.Components.EventCallback<decimal?>

有关如何解决此问题的任何建议?我的意思是,当然,我可以只保留丢弃的变量,但是这样做似乎很麻烦。

*编辑以回答问题*

基本类/属性签名如下:

namespace MyNamespace
{
    public class MyObject<T> : ComponentBase
    {
        [Parameter] public T Value { get; set; }
        [Parameter] public EventCallback<T> ValueChanged { get; set; }
    }
}

0 个答案:

没有答案