Помогите реализовать следующую задачку на C#

Тема в разделе ".NET", создана пользователем MiRiN, 6 апр 2009.

  1. MiRiN

    MiRiN Гость

    Библиотека для сохранения/чтения объектов в типизированный (в терминах языка Pascal) файл / из файла (2 студента, максимум 100 баллов)
    Необходимо разработать набор классов, обеспечивающих работу с типизированными файлами как в языке Pascal:
    TypedFile<T>
    методы:
    void Assign(String filename)
    void Reset()
    void Rewrite(T[] values)
    void Append();
    void Seek();
    void Truncate();
    void Write(T value);
    T Read();
    свойства:
    int RecordSize;
    int FileSize;
    FileMode FileMode; (FileMode – перечисление)
    String Filename;
    int Pos;
    bool Eof;

    ITypedDataConverter<T> – используется внутри класса TypedFile<T> для преобразования объектов (экземпляров структур или классов T) в массив байтов фиксированной длины (RecordSize и обратно) и обратно; предположительно передается как параметр в конструктор класса TypedFile;
    методы:
    byte[] ToByteArray(T value);
    T FromByteArray(byte[] data);
    своиства:
    int RecordSize
    DelegatesTypedDataConverter<T>: ITypedDataConverter<T> – класс, экземпляр которого можно сконструировать, указав размер записи T, а также два делегата ToByteArrayDelegate и FromByteArrayDelegate соотвествующего типа;
    • TypedFileException – класс, описывающий исключения, которые могут происходить в ходе работы c типизированными файлами.
    • TypedFileUtils
    методы:
    static void Remove<T>(TypedFile<T>, int pos);
    static bool Exists<T>(TypedFile<T>, TestDelegate<T>);
    static T[] Read<T>(TypedFile<T>);
    static T[] Read<T>(TypedFile<T>, TestDelegate<T>);
    static T ReadFirst<T>(TypedFile<T>, TestDelegate<T>);
    static T ReadLast<T>(TypedFile<T>, TestDelegate<T>);
    static int GetIndex<T>(TypedFile<T>, TestDelegate<T>);
    static int FindLastIndex<T>(TypedFile<T>, TestDelegate<T>);
    static void ForEach(IList<T>, ActionDelegate<T>);
    static void ChangeAll<T>(TypedFile<T>, ActionDelegate<T>);
    static void Sort(TypedFile<T>, CompareDelegate<T>);
    static bool CheckForAll<T>( TypedFile<T>, TestDelegate<T>);
    Также необходимо разработать серию примеров, демострирующих основные аспекты работы с реализованной библиотекой работы с типизированными файлами.
     
Загрузка...

Поделиться этой страницей