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

Visual Studio 2022中C#代码片段无法完整生成问题求助

问题原因分析
  • 问题出在代码生成工具对字符串插值内部复杂表达式的解析缺陷,而非$或{字符本身。
  • 多数轻量代码生成工具的语法解析逻辑比较简单,仅能处理{变量名}这类基础字符串插值形式。当遇到{MethodBase.GetCurrentMethod().Name}这种包含方法调用、属性访问的嵌套复杂表达式时,工具的解析器会误判插值的结束边界,导致后续代码被错误识别为插值的一部分,进而触发截断。
  • 首行能正常生成是因为工具是逐段解析代码的,首行(如方法定义)未触发解析异常,直到catch块中的复杂插值表达式才触发截断逻辑。
  • 改成throw new Exception(ex.Message);后,代码结构简单,工具无需处理复杂插值,自然能完整生成代码。

验证方案

可以尝试将复杂表达式提前赋值给变量,再进行插值,看是否能正常生成完整代码:

catch (MySqlException ex)
{
    var currentMethod = MethodBase.GetCurrentMethod().Name;
    throw new Exception($"{currentMethod}.MySqlException : {ex.Message}");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 17:42:34