Error del compilador CS0036

Actualización: noviembre 2007

Mensaje de error

Un parámetro Out no puede tener un atributo '[In]'
An out parameter cannot have the '[In]' attribute

Actualmente, el atributo In no se permite en un parámetro out.

El código siguiente genera el error CS0036:

// CS0036.cs

using System;
using System.Runtime.InteropServices;

public class MyClass
{
   public static void TestOut([In] out char TestChar)   // CS0036
   // try the following line instead
   // public static void TestOut(out char TestChar)
   {
      TestChar = 'b';
      Console.WriteLine(TestChar);
   }

   public static void Main()
   {
      char i;           //variable to receive the value
      TestOut(out i);   // the arg must be passed as out
      Console.WriteLine(i);
   }
}