![]() |
Помогите решить задачу на C# за Money
Условия задачи:
Необходимо разработать набор классов, обеспечивающих работу с типизированными файлами как в языке Pascal: • TypedFile<T> o методы: void Assign(String filename) void Reset() void Rewrite(T[] values) void Append(); void Seek(); void Truncate(); void Write(T value); T Read(); o свойства: int RecordSize; int FileSize; FileMode FileMode; (FileMode – перечисление) String Filename; int Pos; bool Eof; • ITypedDataConverter<T> – используется внутри класса TypedFile<T> для преобразования объектов (экземпляров структур или классов T) в массив байтов фиксированной длины (RecordSize и обратно) и обратно; предположительно передается как параметр в конструктор класса TypedFile; o методы: byte[] ToByteArray(T value); T FromByteArray(byte[] data); o своиства: int RecordSize • DelegatesTypedDataConverter<T>: ITypedDataConverter<T> – класс, экземпляр которого можно сконструировать, указав размер записи T, а также два делегата ToByteArrayDelegate и FromByteArrayDelegate соотвествующего типа; • TypedFileException – класс, описывающий исключения, которые могут происходить в ходе работы c типизированными файлами. • TypedFileUtils o методы: 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>); Также необходимо разработать серию примеров, демострирующих основные аспекты работы с реализованной библиотекой работы с типизированными файлами. ОЧЕНЬ СРОЧНО НАДО... Сумму обговорим позже. |
| Время: 07:32 |