You can cast objects, that represent text MIME entities, in BodyStructure's Visuals/NonVisuals/Attachments to MimeTextStructure class.
It has Data, Charset, Encoding and Text properties.
As BodyStructure instance is created by invoking Imap.GetMessageInfoByUID or Imap.GetBodyStructureByUID, Data and Text properties are not filled. Both methods download only most common information about the email structure without downloading actual attachment data.
You can use Imap.GetDataByUID or Imap.GetTextByUID to fill Data and Text.
Text property already takes charset into account, so you don't need to use it directly.