You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#调用Gmail API获取用户签名块报Func无SendAs定义错误

问题诱因

报错是VB.NET和C#的语法规则差异直接导致的:

  • VB.NET允许省略方法调用的括号,你原先可正常运行的VB代码里写.Execute时,编译器会自动识别为方法调用,执行后返回Gmail API响应的ListSendAsResponse对象
  • C#中方法必须携带括号()才会触发执行,你当前C#代码里只写了.Execute没有加括号,这行代码根本没有发起API请求,只是把Execute方法本身(类型为Func<ListSendAsResponse>的委托)赋值给了result变量。委托类型自然不存在SendAs属性,就会抛出你看到的错误。
修复方案

只需要修正API执行那行代码的写法即可。由于你当前的方法是异步方法,推荐搭配await使用异步执行方法,避免阻塞调用线程:
将原有错误代码:

var result = svc.Users.Settings.SendAs.List("me").Execute;

替换为:

var result = await svc.Users.Settings.SendAs.List("me").ExecuteAsync();

如果你需要使用同步执行逻辑,也可以直接给Execute补上调用括号:

var result = svc.Users.Settings.SendAs.List("me").Execute();

修正后result会被正确赋值为API返回的响应对象,就可以正常访问SendAs属性遍历别名列表了。

内容的提问来源于stack exchange,提问作者Shane Brodie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:57:15