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);
}
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
.NET feedback
.NET is an open source project. Select a link to provide feedback: