Tôi đang cố gắng viết một vài tiện ích mở rộng để chuyển đổi UniDataSets
và UniRecords
thành DataSet
và DataRow
nhưng tôi gặp phải lỗi sau khi tôi cố gắng biên dịch.DataRow constructor không thể truy cập được khi viết phần mở rộng DataSet?
'System.Data.DataRow.DataRow (System.Data.DataRowBuilder)' là không thể tiếp cận do mức độ bảo vệ của nó
Có cách nào để sửa lỗi này hay tôi nên từ bỏ cách tiếp cận này và trở nó theo một cách khác?
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;
}
}
}
}
Tôi không thấy nơi bạn đang cố gắng sử dụng constructor đó bất cứ nơi nào trong mã này? Lỗi nào xảy ra? –
Dòng 17: DataRow dataRow = new DataRow(); – josh