public ContentDescriptionObject(TagLib.Asf.File file, long position) : base(file, position)
 {
     this.title = string.Empty;
     this.author = string.Empty;
     this.copyright = string.Empty;
     this.description = string.Empty;
     this.rating = string.Empty;
     if (base.Guid != TagLib.Asf.Guid.AsfContentDescriptionObject)
     {
         throw new CorruptFileException("Object GUID incorrect.");
     }
     if (base.OriginalSize < 0x22L)
     {
         throw new CorruptFileException("Object size too small.");
     }
     ushort length = file.ReadWord();
     ushort num2 = file.ReadWord();
     ushort num3 = file.ReadWord();
     ushort num4 = file.ReadWord();
     ushort num5 = file.ReadWord();
     this.title = file.ReadUnicode(length);
     this.author = file.ReadUnicode(num2);
     this.copyright = file.ReadUnicode(num3);
     this.description = file.ReadUnicode(num4);
     this.rating = file.ReadUnicode(num5);
 }
        protected bool Parse(TagLib.Asf.File file)
        {
            int length = file.ReadWord();
            this.name = file.ReadUnicode(length);
            this.type = (DataType) file.ReadWord();
            int num2 = file.ReadWord();
            switch (this.type)
            {
                case DataType.Unicode:
                    this.strValue = file.ReadUnicode(num2);
                    break;

                case DataType.Bytes:
                    this.byteValue = file.ReadBlock(num2);
                    break;

                case DataType.Bool:
                    this.longValue = file.ReadDWord();
                    break;

                case DataType.DWord:
                    this.longValue = file.ReadDWord();
                    break;

                case DataType.QWord:
                    this.longValue = file.ReadQWord();
                    break;

                case DataType.Word:
                    this.longValue = file.ReadWord();
                    break;

                default:
                    return false;
            }
            return true;
        }
        protected bool Parse(TagLib.Asf.File file)
        {
            this.lang_list_index = file.ReadWord();
            this.stream_number = file.ReadWord();
            ushort length = file.ReadWord();
            this.type = (DataType) file.ReadWord();
            int num2 = (int) file.ReadDWord();
            this.name = file.ReadUnicode(length);
            switch (this.type)
            {
                case DataType.Unicode:
                    this.strValue = file.ReadUnicode(num2);
                    break;

                case DataType.Bytes:
                    this.byteValue = file.ReadBlock(num2);
                    break;

                case DataType.Bool:
                case DataType.DWord:
                    this.longValue = file.ReadDWord();
                    break;

                case DataType.QWord:
                    this.longValue = file.ReadQWord();
                    break;

                case DataType.Word:
                    this.longValue = file.ReadWord();
                    break;

                case DataType.Guid:
                    this.guidValue = file.ReadGuid();
                    break;

                default:
                    return false;
            }
            return true;
        }