Compiler Error CS1919

 

Veröffentlicht: Juli 2016

System_CAPS_ICON_note.jpg Hinweis

Die neueste Dokumentation über C# finden Sie im Leitfaden für C# auf docs.microsoft.com.

Der unsichere Typ "Typname" kann bei der Objekterstellung nicht verwendet werden.

Der Operator new erstellt Objekte nur im verwalteten Heap. Sie können jedoch Objekte indirekt im nicht verwalteten Speicher erstellen, indem Sie die Interoperationsfunktionen der Sprache nutzen und systemeigene Methoden aufrufen, die Zeiger zurückgeben.

So beheben Sie diesen Fehler

  1. Verwenden Sie im Erstellungsausdruck für das neue Objekt einen sicheren Typ. Verwenden Sie zum Beispiel char oder int anstelle von char* oder int*.

  2. Verwenden Sie eine Win32- oder COM-Methode, oder schreiben Sie Ihre eigene Funktion in C oder C++ und rufen Sie sie über C# auf, wenn Sie Objekte im nicht verwalteten Speicher erstellen müssen.

Das folgende Beispiel führt zu Fehler CS1919, da ein Zeigertyp nicht sicher ist:

// 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;  
    }  
}  

Interoperabilität

Anzeigen: