У меня есть бизнес-уровень с пространством имен, которое называется Products.Итак: Business.Products
Используя Reflection, я загружаю все типы (кроме базовых, а не абстрактных) в комбинированный список и ожидаю, что пользователь выберет тип (Книга, Еда, Медицина, Другое: все наследуется отКласс ProductBase) и установите его свойства и добавьте в глобальный объект Order, который содержит список ProductBase.
Пока что я выбираю тип из выпадающего списка, а внизу групповой блок заполняется соответствующими элементами управления пользовательского интерфейса, CheckBox дляbool prop, DateTimePicker для datetime, TextBox для бесплатного входа и так далее.(Я помещаю экземпляр propertyinfo в свойство Tag элемента управления btw)
Когда дело доходит до добавления нового свойства после того, как установлены пользовательские интерфейсы ctrls, я создаю новый объект выбранного типа и начинаю устанавливать его свойства.Чтобы найти корректный пользовательский интерфейс ctrl, я перебираю элементы управления в groupBox и использую свойство Tag, содержащее экземпляр PropertyInfo.Пока нет проблем с поиском соответствующего элемента управления.Но элементы управления имеют разные типы (я возвращаю элементы управления из закрытого метода, который возвращает System.WinForms.Control), и мне нужно получить доступ к его свойству SelectedDate, если его DatePicker, IsChecked, если его CheckBox, и так далее.Честно говоря, я не знаю, что делать сейчас :), пожалуйста, помогите брату, спасибо, заранее.Peace!
Примечание. Я вижу, что большинство элементов управления имеют значение Text, даже если его текстовое значение DatePicker выглядит как дата, но не думаю, что я действительно могу использовать это.
PS: На самом деле это известный вопрос для собеседования, но я хочу этот подход Reflection, чтобы поддерживать все виды будущих сообщений со структурой наследования и перемещением / добавлением / удалением свойств.проверьте здесь сам вопрос: http://codecrafter.blogspot.com/