public override void WriteToStream(System.IO.Stream stream)
{
ExtendedTextFrame frame=(ExtendedTextFrame)this.FrameToWrite;
List<Field> fields=new List<Field>();
// Declare the fields to write.
fields.Add(new SingleByteField((byte)this.Encoding));
if(frame.Language==LanguageCode.Unknown)
{
fields.Add(new FixedLengthAsciiTextField("XXX"));
}
else
{
fields.Add(new FixedLengthAsciiTextField(frame.Language.ToString()));
}
fields.Add(TextField.CreateTextField(frame.Description, this.Encoding));
fields.Add(TextField.CreateTextField(frame.Text, this.Encoding));
// Write the header
int length=0;
foreach(Field f in fields)
{
length+=f.Length;
}
HeaderWriter.WriteHeader(stream, new FrameHeader(this._frameID, length));
// Write the fields
foreach(Field f in fields)
{
f.WriteToStream(stream);
}
}