Создать класс в цикле foreach, используя элемент в качестве имени - PullRequest
0 голосов
/ 19 октября 2019

В настоящее время я пишу программу, которая читает файл Excel и манипулирует им. Чтобы было легче отслеживать, я пытаюсь определить класс для каждого элемента / строки файла Excel. Вот код, который я пытался использовать (используя библиотеку IronXL):

foreach(var c in FoodXL["B2:" + "B" + Convert.ToString(CellLength + 2)]) { FoodItem c.Text = new FoodItem(); }

Однако я продолжаю получать ошибки, потому что когда я использую 'c.Text', он думает, что яя пытаюсь изменить переменную Text класса c, и когда я использую '(c.Text)', я получаю ошибку CS1955. Можно определить классы и назвать их, используя инструкции в цикле foreach?

1 Ответ

0 голосов
/ 19 октября 2019

Вы должны объявить свой класс заранее, вы не можете объявить его динамически. Например:

public class FoodItem {
    public string Text;
}

, а затем, после анализа вашего файла, вы можете создать его экземпляр следующим образом:

foreach(var c in FoodXL["B2:" + "B" + Convert.ToString(CellLength + 2)]) {
    FoodItem foodItem = new FoodItem() { Text = c };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...