【发布时间】:2013-07-24 09:22:51
【问题描述】:
我正在尝试使用动态生成的IEnumerable 序列(由Enumerable.Select() 函数调用构造)来构建SeparatedList。创建SeparatedList 的API 函数采用两个参数,一个IEnumerable<T> 和一个IEnumerable<SyntaxToken>。我提供了一个简单的函数Repeat,它是一个无限序列生成器,在这种情况下,它可以根据要求生成尽可能多的逗号。
SeparatedList 函数似乎消耗了与第二个序列中的条目一样多的第一个序列(此处为参数类型),这让我很困惑。我是否误解了该功能应该如何工作并且有其他人这样做过?谢谢
Syntax.SeparatedList<ParameterSyntax>(
functionParameterTypes,Repeat(i=>Syntax.Token(SyntaxKind.CommaToken)))
(编辑:我应该补充一点,将functionParameterTypes 转换为List<> 并传递另一个List<>,其令牌比functionParameterTypes 中的元素少一个,但我正在尝试这样做而无需显式构建提前列出清单。)
【问题讨论】:
标签: c# ienumerable roslyn