protected override object DoGetObject(TargetMemoryAccess target)
{
TargetLocation dynamic_location;
TargetBlob object_blob = Location.ReadMemory (target, type.Size);
long size = GetDynamicSize (
target, object_blob, Location, out dynamic_location);
if (size > (long) MonoStringType.MaximumStringLength)
size = MonoStringType.MaximumStringLength;
TargetBlob blob = dynamic_location.ReadMemory (target, (int) size);
TargetBinaryReader reader = blob.GetReader ();
int length = (int) reader.Size / 2;
char[] retval = new char [length];
for (int i = 0; i < length; i++)
retval [i] = (char) reader.ReadInt16 ();
return new String (retval);
}