在我绑定到UI的属性的setter方法中,我需要调用异步方法。
public string Property
{
set {
_property = value;
AMethodAsync();
}
}
但是我收到一个编译器警告,说'在调用完成之前,'此调用方法的执行仍在继续'。
如何修复此编译器警告?
我读了这个帖子, How to call an async method from a getter or setter? 但Windows Phone上没有Dispatcher。
谢谢。
答案 0 :(得分:1)
我将您的问题解释为如何禁用警告。您可以在此属性中暂时禁用此特定警告,如下所示:
#pragma warning disable 4014
public string Property
{
set
{
_property = value;
AMethodAsync();
}
}
#pragma warning restore 4014
这对于在代码段内静音警告很有用。请记住,所有这一切都会阻止编译器生成警告。通常,如果你这样做,这意味着你有充分的理由首先忽略警告。
使警告静音的另一种方法是将任务对象分配给如下变量:
public string Property
{
set
{
_property = value;
var task = AMethodAsync();
}
}