使用匿名类型调用泛型方法 (C#)
假设我想迭代一个 string[][],使用匿名类型附加一个值并对结果执行通用的 ForEach-Extension 方法(我知道这是一个很好的例子,但我假设你会明白它的要点!)。
这是我的代码:
//attrs = some string[][]
attrs.Select(item => new { name = HttpContext.GetGlobalResourceObject("Global", item[0].Remove(0, 7)), value = item[1] })
.ForEach</*????*/>(/*do stuff*/);
我到底应该在 ForEach 的类型参数中放入什么?
ForEach 如下所示:
public static void ForEach<T>(this IEnumerable<T> collection, Action<T> act)
{
IEnumerator<T> enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
act(enumerator.Current);
}
Let's just say I'd like to iterate over a string[][]
, append a value using an anonymous type and perform a generic ForEach-Extensionmethod on the result (brilliant example, I know, but I suppose you'll get the jist of it!).
Here's my code:
//attrs = some string[][]
attrs.Select(item => new { name = HttpContext.GetGlobalResourceObject("Global", item[0].Remove(0, 7)), value = item[1] })
.ForEach</*????*/>(/*do stuff*/);
What exactly would I put in the Type-Parameter of ForEach?
Here's what ForEach looks like:
public static void ForEach<T>(this IEnumerable<T> collection, Action<T> act)
{
IEnumerator<T> enumerator = collection.GetEnumerator();
while (enumerator.MoveNext())
act(enumerator.Current);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不需要显式指定类型,因为它可以从提供的参数推断出来:
You don't need to specify the type explicitly, because it can be inferred from the supplied parameters: