c# - 'System.ValueTuple' 不包含 ' addedcontactmail' 的定义
问题描述
我在 Azure 函数中收到此错误消息:
'System.ValueTuple<bool,string,string,string,string>' 不包含 ' addedcontactmail' 的定义
namespace My.Functions
{
public class Result
{
public bool FunctionSuccessful { get; set; }
public string Errorline1 { get; set; }
public string Errorline2 { get; set; }
public string Errorline3 { get; set; }
public string Errorline4 { get; set; }
}
public static class NewFunction
{
[FunctionName("MyNewFunction")]
public static async Task<dynamic> NewCall(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestMessage req, ILogger log)
{
var context = await FunctionContext<dynamic>.Create(req);
var args = context.FunctionArgument;
bool functionsuccessful = false;
string errorline1 = string.Empty;
string errorline2 = string.Empty;
string errorline3 = string.Empty;
string errorline4 = string.Empty;
var resultcontactemail = await AddContactEmail(desiredemail, language, clientAPI);
if (resultcontactemail.addedcontactmail == false)
{
functionsuccessful = resultcontactemail.addedcontactmail;
errorline1 = resultcontactemail.errorline1;
errorline2 = resultcontactemail.errorline2;
errorline3 = resultcontactemail.errorline3;
errorline4 = resultcontactemail.errorline4;
return new Result
{
FunctionSuccessful = functionsuccessful,
Errorline1 = errorline1,
Errorline2 = errorline2,
Errorline3 = errorline3,
Errorline4 = errorline4
};
}
}
public static async Task<(bool addedcontactmail, string errorline1, string errorline2, string errorline3, string errorline4)> AddContactEmail(this string emailaddress, string language, PlayFabClientInstanceAPI clientAPI)
{
bool addedcontactmail = false;
string errorline1 = string.Empty;
string errorline2 = string.Empty;
string errorline3 = string.Empty;
string errorline4 = string.Empty;
var request = new PlayFab.ClientModels.AddOrUpdateContactEmailRequest();
request.EmailAddress = emailaddress;
var result = await clientAPI.AddOrUpdateContactEmailAsync(request);
if (result.Error != null)
{
var errors = OnPlayFabError(result.Error, language);
errorline1 = errors[0];
errorline2 = errors[1];
errorline3 = errors[2];
errorline4 = errors[3];
}
else
{
addedcontactmail = true;
}
return (addedcontactmail, errorline1, errorline2, errorline3, errorline4);
}
}
}
以下代码行有问题吗?
functionsuccessful = resultcontactemail.addedcontactmail;
“addcontactmail”和“functionsuccessful”都是bool,为什么不工作?
我希望“functionsuccessful”获得“resultcontactemail.addedcontactmail”的值,它可以是真或假。
究竟是什么问题?
解决方案
您没有AddContactEmail
正确使用函数调用,因为它是字符串的扩展。查看下面的代码,我已经在本地测试过并且工作正常:
[FunctionName("MyNewFunction")]
public static async Task<dynamic> NewCall(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", "get", Route = null)] HttpRequestMessage req, ILogger log)
{
//var context = await FunctionContext<dynamic>.Create(req);
//var args = context.FunctionArgument;
bool functionsuccessful = false;
string errorline1 = string.Empty;
string errorline2 = string.Empty;
string errorline3 = string.Empty;
string errorline4 = string.Empty;
var resultcontactemail = await desiredemail.AddContactEmail(language, clientAPI);
if (resultcontactemail.addedcontactmail == false)
{
functionsuccessful = resultcontactemail.addedcontactmail;
errorline1 = resultcontactemail.errorline1;
errorline2 = resultcontactemail.errorline2;
errorline3 = resultcontactemail.errorline3;
errorline4 = resultcontactemail.errorline4;
return new Result
{
FunctionSuccessful = functionsuccessful,
Errorline1 = errorline1,
Errorline2 = errorline2,
Errorline3 = errorline3,
Errorline4 = errorline4
};
}
return null;
}
public static async Task<(bool addedcontactmail, string errorline1, string errorline2, string errorline3, string errorline4)> AddContactEmail(this string emailaddress, string language, PlayFabClientInstanceAPI clientAPI)
{
bool addedcontactmail = false;
string errorline1 = string.Empty;
string errorline2 = string.Empty;
string errorline3 = string.Empty;
string errorline4 = string.Empty;
var request = new PlayFab.ClientModels.AddOrUpdateContactEmailRequest();
request.EmailAddress = emailaddress;
var result = await clientAPI.AddOrUpdateContactEmailAsync(request);
if (result.Error != null)
{
var errors = OnPlayFabError(result.Error, language);
errorline1 = errors[0];
errorline2 = errors[1];
errorline3 = errors[2];
errorline4 = errors[3];
}
else
{
addedcontactmail = true;
}
return (addedcontactmail, errorline1, errorline2, errorline3, errorline4);
}
推荐阅读
- c# - ASP.NET Core EF - 上传文件时出错
- javascript - 如何判断一个 js 类方法是否是静态的?
- python - python中模型的协方差矩阵
- hyperledger-fabric - 如何实现Chaincode查询所有区块交易
- javascript - 在谷歌地图上的特定位置绘制标记
- javascript - JS - 从数组中过滤某些值
- c# - 字符串或二进制数据将被截断 WHERE IN
- r - 使用 dplyr 进行数据转换
- logging - 如何知道logstash(或任何类似产品)是否正在从文件中读取?
- asp.net-core - Entity Framework Core - product 类型的相关产品