public class BinaryDataDatabaseCreator : IDisposable
{
private Database _database;
private string _tmpDwgFile ;
public BinaryDataDatabaseCreator(byte[] databaseBinaryData)
{
// создаем временный файл в папке TEMP. Расширение файла .tmp
_tmpDwgFile = Path.GetTempFileName();
// Если нужно расширение dwg, то меняем
_tmpDwgFile = Path.ChangeExtension(_tmpDwgFile, "dwg");
File.WriteAllBytes(_tmpDwgFile, databaseBinaryData);
// читаем dwg файл. Как это правильно делать, думаю вы знаете.
_database = new Database(_tmpDwgFile);
}
public Database Database
{
get { return _database; }
}
public void Dispose()
{
// удаляем временный файл
File.Delete(_tmpDwgFile);
// Если класс Database реализует интерфейс IDisposable (не знаю так это или нет),
// то для него тоже выполним метод Dispose()
_database.Dispose();
}
}