是否可以将一个泛型IEnumerable传递给函数
本文关键字:IEnumerable 泛型 函数 一个 是否 | 更新日期: 2023-09-27 18:04:50
我有这个函数:
private void Pager(IEnumerable<t> tEnum)
{
...
}
,我想传递不同的IEnumerable,如IEnumerable<MyObject1>
或IEnumerable<MyObject2>
。
有可能吗?
当然。只需将方法设置为泛型:
private void Pager<T>(IEnumerable<T> tEnum)
{
...
}
如果您查看linq到对象的扩展方法,那么它们也是这样做的(根据扩展方法语法,在IEnumerable<T>
之前没有额外的this
)
您可以将整个函数设置为泛型:
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"});
也许这样?
private void Pager<t>(IEnumerable<t> tEnum)