Sri*_*m M 1 .net c# task-parallel-library async-await asp.net-web-api2
我使用以下方法:
public async Task<SaveStatus> Save(Foo foo,out int param)
{
.......
MySqlParameter prmparamID = new MySqlParameter("pParamID", MySqlDbType.Int32);
prmparamID .Direction = ParameterDirection.Output;
sqlCommand.Parameters.Add(prmparamID);
try
{
await sqlConnection.OpenAsync();
await sqlCommand.ExecuteNonQueryAsync();
status = (SaveStatus)Convert.ToInt32(prmReturnValue.Value);
if (status == SaveStatus.Success)
{
if (Common.IsDBValueNotNullOrEmpty(prmParamID))
{
param= Convert.ToInt32(prmParamID.Value);
}
}
}
return status;
}
Run Code Online (Sandbox Code Playgroud)
我想返回状态和整数参数.任何人都可以帮我解决这个问题吗?
i3a*_*non 10
您不能out在async方法中拥有参数.以下是有关原因的更多信息:为什么异步方法不能有ref或out参数?
如果要返回多个返回值,则可能应该有一个包含这些值的类并将其返回.
如果您不想创建新类,可以使用Tuple:
public async Task<Tuple<SaveStatus, int>> Save(Foo foo)
{
SaveStatus status;
int param;
// ...
return Tuple.Create(status, param);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |