是否可以将通用 IEnumerable 传递给函数?

发布于 2024-11-28 19:23:44 字数 244 浏览 0 评论 0原文

我有这个函数:

private void Pager(IEnumerable<t> tEnum)
{
   ...
}

并且我想传递不同的 IEnumerable,例如 IEnumerableIEnumerable

是否可以?

I have this function :

private void Pager(IEnumerable<t> tEnum)
{
   ...
}

and I'd like to pass different IEnumerable, like IEnumerable<MyObject1> or IEnumerable<MyObject2>.

Is it possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

薆情海 2024-12-05 19:23:44

当然。只需使方法通用即可:

private void Pager<T>(IEnumerable<T> tEnum)
{
   ...
}

如果您查看 LINQ-to-objects 扩展方法,您会发现它们也是这样做的(在 IEnumerable 之前没有额外的 this ) code> 根据扩展方法语法。)

Sure. Just make the method generic:

private void Pager<T>(IEnumerable<T> tEnum)
{
   ...
}

If you look at the LINQ-to-objects extension methods, that's how they do things as well (without the additional this prior to the IEnumerable<T> as per extension method syntax.)

沉溺在你眼里的海 2024-12-05 19:23:44

您可以使整个函数变得通用:

private void Pager<T>(IEnumerable<T> tEnum)
{
   // here T can be anything
}

// you can call it like:
Pager(new int[]{10,20});
Pager(new string[]{"meep","x"});

You can make the whole function generic:

private void Pager<T>(IEnumerable<T> tEnum)
{
   // here T can be anything
}

// you can call it like:
Pager(new int[]{10,20});
Pager(new string[]{"meep","x"});
久光 2024-12-05 19:23:44

也许是这样?

private void Pager<t>(IEnumerable<t> tEnum)

Maybe this way?

private void Pager<t>(IEnumerable<t> tEnum)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文