Initialisez-vous les propriétés ColumnName de l'objet DataTable que vous transmettez ? Sinon, ils pourraient être lus comme nuls.
Par exemple
public static void Main()
{
Datatable myDataTable = new DataTable();
myDataTable.Columns = new Columns[3];
myDataTable.Columns[0].ColumnName = "Employees";
myDataTable.Columns[1].ColumnName = "Salary";
myDataTable.Columns[2].ColumnName = "Department";
UpdateOrSaveItems(myDataTable);
}