[EDIT]Sto adottando questa soluzione: Utilizzo String^ anzichè string ma questo implica che debba costruire un oggetto String^ manualmente:

codice:
property String^ nomeLuogo {
  String^ get(){
    String^ s = gcnew String(nomeLuogo.c_str());
    return s;
  }
  void set(String^ s){ nomeLuogo = msclr::interop::marshal_as<std::string>(s); }}