Partager via


Erreur du compilateur CS0192

Mise à jour : novembre 2007

Message d'erreur

Les champs d'un champ readonly statique 'nom' ne peuvent pas être passés en ref ou out (sauf s'ils appartiennent à un constructeur statique)
Fields of static readonly field 'name' cannot be passed ref or out (except in a static constructor)

Un champ (variable) marqué avec le mot clé readonly ne peut pas être passé à un paramètre ref ou out sauf à l'intérieur d'un constructeur. Pour plus d'informations, consultez Champs (Guide de programmation C#).

L'erreur CS0192 se produit également si le champ readonly est static et que le constructeur n'est pas marqué comme static.

Exemple

L'exemple suivant génère l'erreur CS0192.

// 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()
    {
    }
}