C# ';数据表';不包含';列';

C# ';数据表';不包含';列';,c#,asp.net,datatable,C#,Asp.net,Datatable,尝试向datatable添加列时出现以下错误 DataTable“”不包含“Columns”的定义,并且没有接受类型为的第一个参数的扩展方法“Columns” 无法找到“DataTable” 下面是生成错误的代码 static void Main() { // Get the DataTable DataTable myTable = getStatusTable(); } static DataTable getStatusTable() { // Create a

尝试向datatable添加列时出现以下错误

DataTable“”不包含“Columns”的定义,并且没有接受类型为的第一个参数的扩展方法“Columns” 无法找到“DataTable”

下面是生成错误的代码

static void Main()
{
    // Get the DataTable
    DataTable myTable = getStatusTable();
}

static DataTable getStatusTable()
{
    // Create a DataTable with 4 columns       
    DataTable myTable = new DataTable();   

    myTable.Columns.Add("Dosage");
    myTable.Columns.Add("Drug");
    myTable.Columns.Add("Patient");
    myTable.Columns.Add("Date");

    // Create the Table Row
    myTable.Rows.Add(25, "Indocin", "David", DateTime.Now);
    myTable.Rows.Add(50, "Enebrel", "Sam", DateTime.Now);
    myTable.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now);
    myTable.Rows.Add(21, "Combivent", "Janet", DateTime.Now);
    myTable.Rows.Add(100, "Dilantin", "Melanie", DateTime.Now);
    myTable.Rows.Add(25, "Vitamin C", "Guzzyman", DateTime.Now);

    return myTable;
}

如何纠正此问题?

您已经在某处创建了一个自定义的
数据表类。此类位于
using
列表中的命名空间中。您需要像这样完全限定它:

System.Data.DataTable myTable = new System.Data.DataTable();
请尝试下面的代码

myTable.Columns.Add(new DataColumn("Dosage"));
myTable.Columns.Add(new DataColumn("Drug"));
myTable.Columns.Add(new DataColumn("Patient"));
myTable.Columns.Add(new DataColumn("Date"));

您是否使用System.Data添加了
?有一个自定义的DataTable类?我刚刚在一个控制台应用程序中尝试了这个精确的代码,效果很好,你能分享你的堆栈跟踪吗?@Steve,范围内可能还有另一个
DataTable
类,添加
using
子句会导致冲突,这将清楚地表明情况是否属实。@Steve我知道,但有时会发生这种情况,这将生成相同的错误,因为您只使用未定义集合的另一版本的
Add
方法。是的……我添加了using System。Data@ThomasLevesque,我认为这与其说是猜测,不如说是观察。如果正在识别
,但预期类的已知成员未被识别,则在可用名称空间列表中的某个位置有一个自定义
数据表
类。我也尝试过使用System.Data.DataTable,但git发现了这个错误CS0029:无法将类型'DataTable'隐式转换为'System.Data.DataTable'@Guzzyman,这是因为无论您引用的任何地方,
DataTable
都需要完全限定。您的返回类型为
DataTable
,您正在使用返回值设置
DataTable
的新引用。您需要完全限定它们。@Guzzyman,检查您是否在自己的代码中意外创建了一个名为DataTable的类,如果不需要,请将其删除。如果你不经意地使用“创建类从用法”的特性,它可能会发生。