Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

Compilerfehler CS1034

Fehlermeldung

"Variable" weist den Typ "Typ" auf. Eine Konstante mit einem anderen Verweistyp als einer Zeichenfolge kann nur mit NULL initialisiert werden
'variable' is of type 'type'. A const of reference type other than string can only be initialized with null.

Ein konstanter Ausdruck ist ein Ausdruck, der während der Kompilierung vollständig ausgewertet werden kann. Da die einzige Möglichkeit, einen Wert ungleich NULL aus einem Verweistyp zu erstellen, das Anwenden des neuen Operators ist, und da der neue Operator in einem konstanten Ausdruck nicht zulässig ist, ist der einzig mögliche Wert für Konstanten von Verweistypen, die keine Zeichenfolgen sind, NULL.

Wenn dieser Fehler auftritt, während Sie versuchen, ein const-Zeichenfolgenarray zu erstellen, müssen Sie das Array auf schreibgeschützt festlegen und es im Konstruktor initialisieren.

Beispiel

Im folgenden Beispiel wird CS0134 generiert:

// CS0134.cs
// compile with: /target:library
class MyTest {} 

class MyClass
{
   const MyTest test = new MyTest();   // CS0134

   //OK
   const MyTest test2 = null;
   const System.String test3 = "test";
}
Anzeigen: