Compilerfehler CS1034

Aktualisiert: November 2007

Fehlermeldung

"Variable" weist den Typ "Typ" auf. Ein Konstantenfeld mit einem anderen Referenztyp als "String" kann nur mit NULL initialisiert werden
'variable' is of type 'type'. A const field of a 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 Referenztyp 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 Referenztypen, die keine Zeichenfolgen sind, NULL.

Wenn dieser Fehler auftritt, während Sie versuchen, ein const-Zeichenfolgenarray zu erstellen, müssen Sie das Array auf readonly 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";
}