/// <summary> /// get the file reader from the file property /// </summary> /// <param name="readerProperty"></param> /// <returns></returns> public static IFileReadStrategy Instance(IFileReaderProperty readerProperty) { IFileReadStrategy readStrategy = null; if(readerProperty.BufferType.HasFlag(EnumReaderBufferType.MEMORY_MAPPED_VIEW_ACCESSOR)) readStrategy = new MemorySequentialAccess(readerProperty); else throw new NotImplementedException("Unreachable code"); return readStrategy; }
public static IFileReadStrategy Instance(IFileReaderProperty readerProperty) { IFileReadStrategy readStrategy = null; switch (readerProperty.ReaderType) { case EnumCOFFReaderType.MEMORY_SEQ_READ: readStrategy = new MemorySequentialAccess(readerProperty); break; case EnumCOFFReaderType.MEMORY_ACCESSOR_READ: readStrategy = new MemoryRandomAccess(readerProperty); break; case EnumCOFFReaderType.BINARY_READ: break; default: throw new NotImplementedException("Unreachable code"); } return(readStrategy); }