本文整理汇总了C#中BitStream.sizeLeft方法的典型用法代码示例。如果您正苦于以下问题:C# BitStream.sizeLeft方法的具体用法?C# BitStream.sizeLeft怎么用?C# BitStream.sizeLeft使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BitStream
的用法示例。
在下文中一共展示了BitStream.sizeLeft方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Decode
public static GameRecord Decode(BitStream stream)
{
if (stream.sizeLeft() < 1)
return null;
GameRecordType type = (GameRecordType)BitOps.ReadByte(stream);
GameRecord rec = null;
// decoding shouldnt fail with an exception, but Create can be static
// in code and should definitely fail
try
{
rec = Create(type);
}
catch (ArgumentException e)
{
Log.Error("Failed to decode GameRecord: {0}", e.Message);
return null;
}
// handle any decoding errors
try
{
// first decode the record timestamp
// will fail if it fails
rec.setTimeStamp(BitOps.ReadUInt64(stream));
bool decodeResult = rec.decode(stream);
if (!decodeResult)
throw new InvalidOperationException();
}
catch (InvalidOperationException)
{
Log.Error("Failed to decode GameRecord: general decoding error");
return null;
}
return rec;
}