我正在尝试SeparatedList使用动态生成的IEnumerable序列(由Enumerable.Select()函数调用构造)来构建一个。创建 a 的 API 函数SeparatedList有两个参数, anIEnumerable<T>和 an IEnumerable<SyntaxToken>。我提供了一个简单的函数 ,Repeat它是一个无限序列生成器,在这种情况下,它可以根据要求生成尽可能多的逗号。
该SeparatedList函数似乎消耗了与第二个序列中的条目一样多的第一个序列(此处的参数类型),这让我很困惑。我是否误解了该功能应该如何工作并且有其他人这样做过?谢谢
Syntax.SeparatedList<ParameterSyntax>(
functionParameterTypes,Repeat(i=>Syntax.Token(SyntaxKind.CommaToken)))
(编辑:我应该补充一点,将 a 转换functionParameterTypes为 a并使用比 in 元素少一个令牌List<>传递另一个确实有效,但我试图这样做而不必提前明确构建列表。)List<>functionParameterTypes