今天在写一个api接口时,需要用到两个返回值。于是自己尝试一下后,发现可以这样写
如何使函数可以返回多个返回值
public (dynamic, dynamic) GetEquipAndFriedPara(GetDeviceListModel model)
使用括弧将需要的返回类型括起来即可。
在实际调用时,参考如下代码
/// <summary>
/// 获取设备监控页面的已关联设备列表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
[HttpGet, Route("api/app/getEquipAndFriedPara")]
public dynamic GetEquipAndFriedPara([FromUri] GetDeviceListModel model)
{
try
{
using (IFMS_EquipmentManager fms_equipmentmanager = new FMS_EquipmentManager())
{
int sumTotal, runcount, offLinecount, errorcount;
var data = fms_equipmentmanager.GetEquipAndFriedPara(model);
return this.Save_Ok(new
{
list = data.Item1,
allcount = sumTotal,
runcount = runcount,
offLinecount = offLinecount,
errorcount = errorcount,
echartData = data.Item2
});
}
}
catch (Exception ex)
{
return this.Save_Exception(ex);
}
}
我们发现,可以使用Item1与Item2获取返回值的具体参数。
开发过程中遇到的问题:
当笔者实际开发中,发现(dynamic,dynamic)会报错
报错内容为 “预定义类型system.valuetuple2未定义或导入”
解决
经过查阅资料,是因为没有在项目中下载valuetuple的nuget包,下载完毕后,无报错。
供参考!