Пример #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="fileWriter"></param>
 /// <param name="optimizedContentLengthBeforeMakeStream">Не обязателен, но при его задании чтение Length не будет приводить к созданию стрима с предварительной подготовкой</param>
 public FileContentProvider(FileWriterDelegate fileWriter,
                            ContentLengthDelegate optimizedContentLengthBeforeMakeStream = null)
 {
     NotNull.CheckArgument(() => fileWriter);
     _fileWriter = fileWriter;
     _optimizedContentLengthBeforeMakeStream = optimizedContentLengthBeforeMakeStream;
 }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="streamWriter"></param>
 /// <param name="optimizedContentLengthBeforeMakeStream">Не обязателен, но при его задании чтение Length не будет приводить к созданию стрима с предварительной подготовкой</param>
 public ContentProviderToStreamWritable(StreamWriterDelegate streamWriter,
                                        ContentLengthDelegate optimizedContentLengthBeforeMakeStream = null)
 {
     NotNull.CheckArgument(() => streamWriter);
     _streamWriter = streamWriter;
     _optimizedContentLengthBeforeMakeStream = optimizedContentLengthBeforeMakeStream;
 }
Пример #3
0
 public LazyConstructableStream(Func <Stream> streamFactory, Func <long?> optimizedSizeGetterWithoutStreamCreating = null)
 {
     _optimizedSizeGetter = optimizedSizeGetterWithoutStreamCreating;
     NotNull.CheckArgument(() => streamFactory);
     _stream = new Lazy <Stream>(
         () =>
     {
         var stream      = streamFactory();
         stream.Position = _virtualPosition;
         return(stream);
     }, LazyThreadSafetyMode.None);
 }