我有一个在其他两个做相同事情的方法之间共享的方法,都将事件发布到Outlook日历,但是在一种情况下,我不需要返回响应字符串,这是方法:
private static async Task<string> InitPost(Kalender kalender, string email)
{
using (Client)
{
var postUri = $"https://graph.microsoft.com/v1.0/users/{email}/calendar/events";
var httpContent = new StringContent(JsonConvert.SerializeObject(kalender), Encoding.UTF8, "application/json");
var method = new HttpMethod("POST");
var request = new HttpRequestMessage(method, postUri)
{
Content = httpContent
};
var response = await Client.SendAsync(request);
var responseString = await response.Content.ReadAsStringAsync();
return responseString;
}
}
是否可以这样调用该方法:await InitPost(KalenderEntity, email);
还是必须为var e = await InitPost(KalenderEntity, email);
?
如果可能,有人可以解释返回字符串会发生什么情况吗?我是编码的新手,在学校中学到的是,如果您有一个带有返回类型的方法,那么就必须“抓住”它。
答案 0 :(得分:3)
否,您不需要“捕获”返回的值,可以忽略该方法的返回值。但是,在某些情况下,这可能是不良设计的警告信号,也就是说,如果两个调用者有可能在两个不同的事物上使用相同的方法,则应将方法分为两个不同的实现。
答案 1 :(得分:2)
如果不需要结果,可以离开await InitPost(KalenderEntity, email);
,没关系。在这种情况下,您无需将此方法的结果分配给任何变量,GAC会将其从内存中删除。