Как сериализовать класс-наследник от абстрактного класса?
От: Cherub Украина  
Дата: 26.02.10 16:29
Оценка:
1.Подскажите, как можно сериализовать класс, который наследуется от абстрактного класса System.Web.UI.DataSourceView не помеченного атрибутом [Serializable]?

[Serializable]
public class DBObjDataSourceView : DataSourceView
{
    IDataSource Owner = null;

    public DBObjDataSourceView(IDataSource owner)
        : base(owner, owner.GetType().ToString())
    {
        Owner = owner;
    }

    protected override IEnumerable ExecuteSelect(DataSourceSelectArguments arguments)
    {
        ArrayList propertyList = new ArrayList();
        propertyList.Add(Owner);
        return propertyList;
    }
}


А то при попытке работать с экземпляром другого класса через ViewState, использующего DBObjDataSourceView, вылазит ошибка:
"Ошибка сериализации значения. Тип "System.Web.UI.DataSourceView" в сборке "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" не помечен как сериализуемый."

2.И второй вопрос, верным ли я пошел путем, когда для автоматического биндинга данных своего класса (описывающего бизнес-объект) реализовал в нем IDataSource (специально, чтобы не использовать ObjectDataSource) и иметь больше возможностей при работе с контролом DetailsView?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.