[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); }}