检查以下代码。
class Program
{
delegate void TestMeDelegate(Span<byte> data);
static void Main(string[] args)
{
TestMeDelegate testMeDelegate = TestMe;
Action<Span<byte>> testMeAction = TestMe;
}
static void TestMe(Span<byte> data)
{
}
}
使用 testMeDelegate 的行有效,但使用 testMeAction 的行抛出
类型“
Span<byte>
”不能用作类型参数
我的 target.net 4.7.2 和 System.Memory nuget 版本 4.5.1
Langversion 设置为 C# latest 次要版本(latest)应该是 7.3
问题:
这只是一个编译器错误吗?
在这种情况下,Action 和 delegate 有什么区别?