Поделиться через


Ошибка компилятора CS0036

Обновлен: Ноябрь 2007

Сообщение об ошибке

Параметр out не может иметь атрибут "[In]"
An out parameter cannot have the '[In]' attribute

В настоящий момент атрибут In не допускается для параметра out.

Следующий пример приводит к возникновению ошибки 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);
   }
}