Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   О Работе (https://forum.antichat.xyz/forumdisplay.php?f=57)
-   -   Помогите решить задачу на C# за Money (https://forum.antichat.xyz/showthread.php?t=122541)

MiRiN 27.05.2009 14:15

Помогите решить задачу на 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