本文整理汇总了C#中SeekOrigin.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# SeekOrigin.GetType方法的具体用法?C# SeekOrigin.GetType怎么用?C# SeekOrigin.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SeekOrigin
的用法示例。
在下文中一共展示了SeekOrigin.GetType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Seek
/// <summary>
/// Sets the position within the current stream.
/// </summary>
/// <returns>
/// The new position within the current stream.
/// </returns>
/// <param name="offset">A byte offset relative to the <paramref name="origin"/> parameter. </param>
/// <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin"/> indicating the reference point used to obtain the new position. </param>
/// <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
/// <exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output. </exception>
/// <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception>
public override long Seek(long offset, SeekOrigin origin)
{
if (isDisposed) throw new ObjectDisposedException(GetType().FullName);
switch (origin)
{
case SeekOrigin.Begin:
if (offset < 0 || offset>= trackDataLength) throw new EndOfStreamException();
trackDataPosition = (int) offset;
break;
case SeekOrigin.Current:
var newPosition = trackDataPosition + offset;
if (newPosition < 0 || newPosition >= trackDataLength) throw new EndOfStreamException();
trackDataPosition = (int) newPosition;
break;
case SeekOrigin.End:
newPosition = trackDataLength + offset;
if (newPosition < 0 || newPosition >= trackDataLength) throw new EndOfStreamException();
trackDataPosition = (int) newPosition;
break;
default:
throw new InvalidEnumArgumentException("origin", (int) origin, origin.GetType());
}
return trackDataPosition;
}
示例2: Seek
public override long Seek(long offset, SeekOrigin origin)
{
switch (origin)
{
case SeekOrigin.Begin:
this.Position = offset;
break;
case SeekOrigin.Current:
this.Position += offset;
break;
case SeekOrigin.End:
this.Position = this.Length + offset;
break;
default:
throw new ArgumentException("Unexpected value of "+origin.GetType().Name+".", "origin");
}
return this.Position;
}