Compilerfehler CS0192
Aktualisiert: November 2007
Fehlermeldung
An Felder des statischen schreibgeschützten Feldes "Name" kann kein Verweis und keine Ausgabe übergeben werden (Ausnahme: in einem statischen Konstruktor).
Fields of static readonly field 'name' cannot be passed ref or out (except in a static constructor)
Ein mit dem readonly-Schlüsselwort markiertes Feld (eine mit diesem Schlüsselwort markierte Variable) kann nur innerhalb eines Konstruktors an einen ref-Parameter oder einen out-Parameter übergeben werden. Weitere Informationen finden Sie unter Felder (C#-Programmierhandbuch).
CS0192 wird auch ausgegeben, wenn das Feld readonly als static deklariert wurde und der Konstruktor nicht als static gekennzeichnet ist.
Beispiel
Im folgenden Beispiel wird CS0192 generiert:
// CS0192.cs
class MyClass
{
public readonly int TestInt = 6;
static void TestMethod(ref int testInt)
{
testInt = 0;
}
MyClass()
{
TestMethod(ref TestInt); // OK
}
public void PassReadOnlyRef()
{
TestMethod(ref TestInt); // CS0192
}
public static void Main()
{
}
}