【发布时间】:2013-04-22 19:54:33
【问题描述】:
我正在尝试编写几个扩展来将UniDataSets 和UniRecords 转换为DataSet 和DataRow,但是当我尝试编译时出现以下错误。
'System.Data.DataRow.DataRow(System.Data.DataRowBuilder)' 由于其保护级别而无法访问
有什么方法可以解决这个问题,还是我应该放弃这种方法并采用不同的方式?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using IBMU2.UODOTNET;
namespace Extentions
{
public static class UniDataExtentions
{
public static System.Data.DataSet ImportUniDataSet(this System.Data.DataSet dataSet, IBMU2.UODOTNET.UniDataSet uniDataSet)
{
foreach (UniRecord uniRecord in uniDataSet)
{
DataRow dataRow = new DataRow();
dataRow.ImportUniRecord(uniRecord);
dataSet.Tables[0].ImportRow(dataRow);
}
return dataSet;
}
public static void ImportUniRecord(this System.Data.DataRow dataRow, IBMU2.UODOTNET.UniRecord uniRecord)
{
int fieldCount = uniRecord.Record.Dcount();
// ADD COLUMS
dataRow.Table.Columns.AddRange(new DataColumn[fieldCount]);
// ADD ROW
for (int x = 1; x < fieldCount; x++)
{
string stringValue = uniRecord.Record.Extract(x).StringValue;
dataRow[x] = stringValue;
}
}
}
}
【问题讨论】:
-
我没有看到您在这段代码的任何地方尝试使用该构造函数?错误发生在哪一行?
-
第 17 行:DataRow dataRow = new DataRow();
标签: c# extension-methods system.data