Rose,
You cannot directly use that method, but you can simply create your own. Here is a sample how to do it.
// The new LoadDataTable method
public DataTable LoadDataTable(IEnumerable<FeatureSourceColumn> featureSourceColumns, IEnumerable<Feature> features)
{
DataTable dataTable = new DataTable();
// Add columns to the dataTable
foreach (FeatureSourceColumn featureSourceColumn in featureSourceColumns)
{
Type type = Type.GetType(featureSourceColumn.TypeName);
dataTable.Columns.Add(featureSourceColumn.ColumnName, type);
}
// Add Rows to the dataTable
foreach (Feature feature in features)
{
DataRow dataRow = dataTable.NewRow();
foreach (DataColumn dataColumn in dataTable.Columns)
{
dataRow[dataColumn.ColumnName] = feature.ColumnValues[dataColumn.ColumnName];
}
dataTable.Rows.Add(dataRow);
}
return dataTable;
}
// Here is my test code.
FeatureSourceColumn column1 = new FeatureSourceColumn("Name", "System.String", 20);
FeatureSourceColumn column2 = new FeatureSourceColumn("Age", "System.Int32", 10);
FeatureSourceColumn[] columns = new FeatureSourceColumn[] { column1, column2 };
Feature feature1 = new Feature(0, 0);
feature1.ColumnValues.Add("Name", "Ben");
feature1.ColumnValues.Add("Age", "2");
Feature feature2 = new Feature(1, 1);
feature2.ColumnValues.Add("Name", "Howard");
feature2.ColumnValues.Add("Age", "1");
Feature[] features = new Feature[]{feature1, feature2};
DataTable dataTable = LoadDataTable(columns, features);
Thanks,
Ben