Edit

Share via


Compiler Error CS0036

An out parameter cannot have the '[In]' attribute

Currently, the In attribute is not permitted on an out parameter.

The following sample generates CS0036:

C#
// 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);  
   }  
}