Blazor在属性值更改时调用方法

Blazor在属性值更改时调用方法,blazor,blazor-webassembly,Blazor,Blazor Webassembly,我正在寻找一种在属性值发生更改时调用方法的方法(不是由用户调用的) e、 我有这个财产 [Parameter]public int SelectedPatientId{get;set;} 当它的值发生变化时,我想调用这个方法 public async void valuechanged() { ... do something here } 到目前为止,我试过这个,但它不起作用 呼叫设定器: int\u选择PatientId; [参数]公共int选择的patientid { get=>\您

我正在寻找一种在属性值发生更改时调用方法的方法(不是由用户调用的

e、 我有这个财产

[Parameter]public int SelectedPatientId{get;set;}

当它的值发生变化时,我想调用这个方法

public async void valuechanged()
{
... do something here
}
到目前为止,我试过这个,但它不起作用

呼叫设定器:

int\u选择PatientId;
[参数]公共int选择的patientid
{ 
get=>\您选择的PatientId;
设置
{
_selectedPatientId=值;
值已更改();
}
}
asnc方法不应返回void,而应返回Task或ValueTask

公共异步任务值已更改()
{
…在这里做点什么
返回Task.CompletedTask;
}

您可以在setter中调用
valuechanged
。谢谢,这正是我想要的。我正在考虑做完全相同的事情,但这不是一个好的解决方案。异常将被丢弃,如果您需要异步函数的返回值怎么办?我注意到在PropertyChanged回调示例中,MS正在属性设置器中对异步方法执行“调用并忘记”:
set=>PropertyChanged.InvokeAsync(值)