C# -> VB: Switch Expression in Return Statement Converts to an Empty String
评估
调研方向
使用提供的 C# 方法在当前 repository 中重现该问题,并将生成的 VB 输出与预期的 Select Case 形式进行比较。跟踪直接用于 return 语句的 switch 表达式的 C# 到 VB 转换路径。当该表达式被转换为非空的等价形式,并保留每个 case 和 default 分支时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Input code
private static string GetBaseForNewName(ISymbol declaration)
{
string name = GetName(declaration);
return declaration.Kind switch {
SymbolKind.Method => name + "Method",
SymbolKind.Property => name + "Prop",
SymbolKind.NamedType => name + "Type",
SymbolKind.Field => name + "Field",
_ => declaration.Kind.ToString().ToLowerInvariant()[0] + name.Substring(0, 1).ToUpperInvariant() + name.Substring(1)
};
}
Erroneous output
Private Shared Function GetBaseForNewName(ByVal declaration As ISymbol) As String
Dim name As String = GetName(declaration)
Return
End Function
Expected output
Private Shared Function GetBaseForNewName(declaration As ISymbol) As String
Dim name = GetName(declaration)
Select Case declaration.Kind
Case SymbolKind.Method
Return name & "Method"
Case SymbolKind.Property
Return name & "Prop"
Case SymbolKind.NamedType
Return name & "Type"
Case SymbolKind.Field
Return name & "Field"
Case Else
Return declaration.Kind.ToString().ToLowerInvariant()(0) & name.Substring(0, 1).ToUpperInvariant() & name.Substring(1)
End Select
End Function
Details
- Using build of current repository
- 主要语言
- C#
- 星标
- 914
- 派生
- 242
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
icsharpcode/CodeConverter 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
icsharpcode/CodeConverter#1271 · 1 条评论 ·
-
C# -> VB: most pattern matching fails to convert可能已有人在做 @gherards99 于 37 天前认领。 未关闭C# -> VB
难度 4/5 3-5 天 新手友好度 35/100
icsharpcode/CodeConverter#1281 ·
-
难度 3/5 1-2 天 新手友好度 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#: Handleres of sub properties being untracked可能已有人在做 @Igor-Tomasi 于 73 天前认领。 未关闭VB -> C#
难度 3/5 1-2 天 新手友好度 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted code未关闭Difficult area VB -> C#
难度 3/5 1-2 天 新手友好度 74/100
icsharpcode/CodeConverter#1272 ·
查看 icsharpcode/CodeConverter 的全部 Issue
相似的 Issue
-
Bug: Hidden loading rings keep the compositor running, so Files uses 7-94% of a CPU core while idle未关闭
难度 2/5 1-3 小时 新手友好度 72/100
files-community/Files#19026 · 1 条评论 ·
维护者通常 1 天内回复
-
Physgun SFX Spam未关闭
难度 2/5 1-3 小时 新手友好度 62/100
-
难度 1/5 1 小时以内 新手友好度 80/100
SubtitleEdit/subtitleedit#15946 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
BHoM/Civil3D_Toolkit#118 ·
-
Reason-phrase table has misspelled entries (`Unathorized`, `Switching Protcols`, `Multiple Choises`)未关闭bug severity:low
难度 2/5 1-3 小时 新手友好度 65/100