Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Impossibile utilizzare il tipo unsafe 'nome tipo' nella creazione dell'oggetto.
Unsafe type 'type name' cannot be used in object creation.
L'operatore new crea oggetti solo nell'heap gestito. Tuttavia, è possibile creare indirettamente oggetti in memoria non gestita utilizzando le funzionalità di interoperabilità del linguaggio per chiamare metodi nativi che restituiscono puntatori.
Per correggere l'errore
Utilizzare un tipo safe nell'espressione di creazione di un nuovo oggetto. Ad esempio, utilizzare char o int invece di char* o int*.
Se è necessario creare oggetti in memoria non gestita, utilizzare un metodo COM o Win32 oppure scrivere una funzione in C o C++ e chiamarla da C#.
Esempio
Nel seguente esempio viene generato l'errore CS1919 perché il tipo di puntatore è unsafe.
// cs1919.cs
// Compile with: /unsafe
unsafe public class C
{
public static int Main()
{
var col1 = new int* { }; // CS1919
var col2 = new char* { }; // CS1919
return 1;
}
}