Compiler Error CS1601

Method or delegate parameter cannot be of type 'type'

Some types in the .NET class library, for example, TypedReference, RuntimeArgumentHandle and ArgIterator cannot be used as in, ref or out parameters because they could potentially be used to perform unsafe operations.

The following sample generates CS1601:

// CS1601.cs  
using System;

class MyClass
{
    public void Test1(in TypedReference t)   // CS1601  
    {
    }

    public void Test2(ref TypedReference t)   // CS1601  
    {
    }

    public void Test3(out ArgIterator t)   // CS1601  
    {
        t = default;
    }
}