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