Zap*_*ica 4 c# overriding task-parallel-library async-await
我有以下几点:
public override Task<SignInStatus> PasswordSignInAsync(string userName, string password, bool isPersistent, bool shouldLockout)
{
return base.PasswordSignInAsync(userName, password, isPersistent, shouldLockout);
}
Run Code Online (Sandbox Code Playgroud)
我想将其修改为以下内容:
public override Task<SignInStatus> PasswordSignInAsync(string userName, string password, bool isPersistent, bool shouldLockout)
{
var result = base.PasswordSignInAsync(userName, password, isPersistent, shouldLockout);
//If status was successful do some thing here
if(result = success)
{
//update last logged in time.
}
//Lastly return the result
return result;
}
Run Code Online (Sandbox Code Playgroud)
现在我想修改函数的功能.
我想执行基本任务,然后使用它的结果在我的重写函数中做一些事情?
我怎样才能做到这一点?
您可以通过将async关键字添加到方法并等待基本操作来执行此操作:
public async override Task<SignInStatus> PasswordSignInAsync(string userName, string password, bool isPersistent, bool shouldLockout)
{
var result = await base.PasswordSignInAsync(userName, password, isPersistent, shouldLockout);
// Check result
return result;
}
Run Code Online (Sandbox Code Playgroud)
因为提供的基本调用返回了一个Task<T>等待的,所以你可以等待它的异步完成async-await.
请注意,这意味着您必须"始终保持异步",并确保在整个callstack中正确等待呼叫.
更多信息async-await可以在这里找到
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |