CopyToDataTable不是system.array的成员

时间:2012-06-27 12:59:11

标签: c# vb.net visual-studio-2010

我在VB.Net脚本文件中有一个函数,但它产生错误'CopyToDataTable'不是'system.array'的成员。有什么想法吗?

Public Function CollectionFromTable(tableName As String, sql As String, sortOrder As String) As DataTable
    Dim foundRows() As DataRow
    foundRows = ds.Tables(tableName).Select(sql, sortOrder)

    Return foundRows.CopyToDataTable
End Function

注意:我在顶部有以下导入但仍然出错。

Imports System
Imports System.Data
Imports System.Windows.Forms
Imports System.Math
Imports Microsoft.VisualBasic
Imports System.Collections.Generic
Imports System.Data.DataRow
Imports System.Linq
Imports System.Drawing
Imports System.Xml
Imports System.Collections

3 个答案:

答案 0 :(得分:3)

这是extension method in the DataTableExtensions class。您需要引用System.Data.DataSetExtensions.dll。 (您已经获得了正确名称空间的导入。)

答案 1 :(得分:0)

如果您正在寻找this method(来自CopyToDataTable的{​​{1}}),则会在DataTableExtensions中。您是否在项目中引用了该程序集?

答案 2 :(得分:0)

我在VS2010中遇到了同样的问题,现在可以通过添加上述参考来解决。添加引用。在VS2010菜单中转到>项目>>属性>>从右侧选项卡中选择参考>>点击添加按钮>>单击.NET选项卡>>选择System.Data.DataSetExtensions参考>>完成了!

谢谢Jon Skeet。