MoltenMercury/libWyvernzora/IO/ExStreams/ExPartStream.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace libWyvernzora.IO
{
public class ExPartStream : ExStreamBase
{
//Operational Variables
protected ExStreamBase _baseStream;
protected Int64 _startPosition = 0;
protected Int64 _length = 0;
protected Int64 _position = 0;
protected FileAccess _access = FileAccess.ReadWrite;
//Constructors
public ExPartStream(ExStreamBase b, Int64 start, Int64 len, FileAccess ac = FileAccess.ReadWrite)
{
if (len < 0) { throw new ArgumentOutOfRangeException(); }
if (start < 0) { throw new ArgumentOutOfRangeException(); }
_baseStream = b;
_startPosition = start;
_length = len;
_access = ac;
}
public ExPartStream(ExStreamBase b, Range rng, FileAccess ac= FileAccess.ReadWrite)
{
_baseStream = b;
_startPosition = rng.Lower;
_length = rng.Higher - rng.Lower;
_access = ac;
}
//Position management support
protected void RefreshPosition()
{
//no validation logic, everything's done on site
_baseStream.Position = _startPosition + _position;
}
#region System.IO.Stream Members
public override bool CanRead
{
get { return _baseStream.CanRead; }
}
public override bool CanSeek
{
get { return _baseStream.CanSeek; }
}
public override bool CanWrite
{
get { return _baseStream.CanWrite; }
}
public override void Flush()
{
_baseStream.Flush();
}
public override long Length
{
后面还有 78 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。