Compilerfehler CS1919
Aktualisiert: November 2007
Fehlermeldung
Der unsichere Typ "Typname" kann bei der Objekterstellung nicht verwendet werden.
Unsafe type 'type name' cannot be used in object creation.
Der new-Operator 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
Verwenden Sie im Erstellungsausdruck für das neue Objekt einen sicheren Typ. Verwenden Sie zum Beispiel char oder int anstelle von char* oder int*.
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.
Beispiel
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;
}
}