如何解决命名不明确的扩展方法?
我有一个 DataTable,试图使用 System.Linq.Enumerable 上的 AsEnumerable 扩展方法对其进行枚举。问题在于 System.Data.DataTableExtensions 上有一个名称相同的扩展方法。我需要在类中使用两个命名空间,因此删除其中一个 using 语句不是一种选择。
如何声明我想要 System.Linq.Enumerable 中的 AsEnumerable 方法而不是 System.Data.DataTableExtensions ?
I have a DataTable that I'm trying to enumerate over with the AsEnumerable extension method on System.Linq.Enumerable. The problem is that there is an identically named extension method on System.Data.DataTableExtensions. I need to use both namespaces in my class so removing one of the using statements is not an option.
How do I declare that I want the AsEnumerable method from System.Linq.Enumerable and not the System.Data.DataTableExtensions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
DataTable 不实现 IEnumerable,甚至不实现 IEnumerable,因此您无法直接对其调用
Enumerable.AsEnumerable()
。这就是DataTableExtensions.AsEnumerable()
的首要用途。DataTable does not implement IEnumerable<T>, or even IEnumerable, so you cannot call
Enumerable.AsEnumerable()
on it directly. That is whatDataTableExtensions.AsEnumerable()
is for in the first place.它们只是静态方法,所以你可以这样做:
They're just static methods so you could do this: