Я столкнулся с проблемой, которую не знаю, как решить, и надеюсь, что сообщество может помочь.
Я пишу приложение, которое управляет объектами "Lead".(Это коммерческие предложения.) Одна часть моей программы будет импортировать потенциальных клиентов из текстового файла.Теперь текстовый файл содержит много потенциальных клиентов, некоторые из которых я хочу импортировать, а некоторые - нет.
Для простоты программирования (и использования) я анализирую текстовый файлв объект List и использование DataGridView для отображения интересов путем установки свойства DataSource объекта DataGridView.
Что я хочу сделать, это добавить столбец в сетку, который называется «Импорт» сфлажок, который пользователь может установить, чтобы указать, следует ли импортировать каждый вывод.
Моя первая мысль - извлечь класс из вывода:
public Class LeadWithImportCheckbox : Lead
{
bool bImport = false;</p>
<p>public bool Import
{
get { return bImport;}
set { bImport = value;}
}
}
Однако механизм синтаксического анализа возвращаетсписок ведущих объектов.Я не могу уменьшить LeadWithImportCheckbox.Сбой:
LeadWithImportCheckbox newLead = (LeadWithImportCheckbox)LeadFromParsingEngine;
Это недопустимое приведение.
Другой вариант, который я вижу, заключается в создании конструктора для LeadWithImportCheckbox:
public LeadWithImportCheckbox(Lead newlead)
{
base.Property1 = newlead.Property1;
base.Property2 = newlead.Property2;
....
base.Property_n = newlead.Property_n;
}
Это проблематично по двум причинам.Во-первых, у объекта Lead есть несколько десятков свойств, и написание этого конструктора - это PITA.
Но что еще хуже, если я когда-нибудь изменю базовую структуру Lead, мне нужно помнить, чтобы вернуться и изменить этот конструктор для LeadWithImportCheckbox.Это опасно для обслуживания моего кода.
Есть ли лучший способ достичь моей цели?