String (CF cf, Pointer ref) { int length = (int)cf.CFStringGetLength(ref); char[] buffer = new char[length]; cf.CFStringGetCharacters(ref, new CF.CFRange(0, length), buffer); return new String(buffer); }