Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 DataTable и наследование от него  [new]
Alexandr Alexandrovich
Member

Откуда: г. Киев
Сообщений: 253
Всем привет!

Подскажите, плиз, можно ли как-то привести объект определённого типа к производному типу?

Понимаю, что звучит нелепо, но дело вот в чём.
Мне нужно переопределить виртуальный метод OnRowDeleting класса DataTable. Для этого я написал класс-наследник DataTable и создаю его экземпляры. Но когда мне нужно получить TSDataTable как элемент коллекции DataSet, то получаю старый добрый DataTable...
2 фев 10, 06:17    [8279202]     Ответить | Цитировать Сообщить модератору
 Re: DataTable и наследование от него  [new]
Alexandr Alexandrovich
Member

Откуда: г. Киев
Сообщений: 253
Почему я хочу переопределить метод DataTable.OnRowDeleting() ?
Вобщем, попробую объяснить, где это можно применить.

В переопределённом методе можно написать примерно так:

public override void OnRowDeleting()
{
    if (MessageBox.Show(Вы уверены, что хотите навсегда удалить запись из таблицы "Такой-то") == Абсолютно)
    {
        base.OnRowDeleting();
        MessageBox.Show("Запись удалена");
    }
}

Но, объект DataTable я достаю из DataSet-а.

Писать обработчики событий не хочу. На это есть причины.

Может быть ещё как-то можно вписаться?
3 фев 10, 04:16    [8285913]     Ответить | Цитировать Сообщить модератору
 Re: DataTable и наследование от него  [new]
Andrew1411
Member

Откуда: Москва
Сообщений: 401
Alexandr Alexandrovich,

Не стоит делать так (лучше сказать нельзя так делать), что бы датасет выкидывал окно запроса и определял, удалять или нет. Это не его задача(это тоже самое, что и если бы простые типы типа int общались бы с пользователем)

Подписывайтесь на события.
3 фев 10, 10:22    [8286639]     Ответить | Цитировать Сообщить модератору
 Re: DataTable и наследование от него  [new]
Alexandr Alexandrovich
Member

Откуда: г. Киев
Сообщений: 253
Andrew1411
Не стоит делать так (лучше сказать нельзя так делать), что бы датасет выкидывал окно запроса и определял, удалять или нет. Это не его задача(это тоже самое, что и если бы простые типы типа int общались бы с пользователем)

Подписывайтесь на события.


Спасибо за критическую оценку! Убедительный аргумент.

Возможно следующее решение будет правильным: сдалать своеобразный фасадный объект, который будет инкапсулировать DataTable и реализовывать обработку событий и вывод предупреждений перед удалением записи. Тогда каждый раз, когда нам нужно выводить предупреждения для какой-то таблицы, мы просто создаём фасадный объект.

Но пока что это просто идея. Что из этого получится, напишу послезавтра...
3 фев 10, 15:24    [8289581]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить