Я читаю файл XLS и передаю число (текущая строка из excel = currow ) в метод, который создает объект внутри нового файла CSV:
public class Importer
...
IList<NewDataObj> n_obj = new List<NewDataObj>();
foreach (var item in data.AsEnumerable().Where(o => o.Field<string>("MyID") == ImportID)){
n_obj.Add(new NewDataObj(item, ID, currow));
currow++;}
....
Методдля создания нового DataObj:
public class NewDataObj{
....
public static string_1 = "\"{3}\";\"NEW_OBJECT\";\"TEST\"{5}\";
public static string_2 = "\"{3}\";\"NEW OBJECT\";\"TEST_A2\"{5}\";
public double DataID { get; set; }
.....
public NewDataObj(DataRow item, string newID, int currow){
....
ID = string.Format("{{ABC_TEST_{0:000}}}", currow);
AddtoFile_A();
//AddtoFile_A2();
}
public void AddtoFile_A(){
using (StreamWriter w = File.AppendText("testX.csv"))
{
w.WriteLine(string.Format(string_1, DataID, ID, Environment.NewLine));
}
}
}
Это работает нормально, но теперь мне пришлось добавить метод AddtoFile_A2.
public void AddtoFile_A2(){
using (StreamWriter w = File.AppendText("testX.csv"))
{
w.WriteLine(string.Format(string_2, DataID, ID, Environment.NewLine));
}
}
И AddtoFile_A2 также использует ту же кривую.Для меня, когда AddtoFile_A или AddtoFile_A2 выполняется, ID всегда должен увеличиваться на 1.
Как это сделать?Может быть, мой метод AddtoFile должен возвращать значение в класс Importer?