Pie*_*kel 7 .net c# generics type-inference
为什么不能Main推断出调用中以下代码示例的类型参数?
using System;
class Program
{
static void Main(string[] args)
{
Method(Action);
}
static void Action(int arg)
{
// ...
}
static void Method<T>(Action<T> action)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
这给出以下错误消息:
错误CS0411:
Program.Method<T>(System.Action<T>)无法从用法推断出方法的类型参数.尝试显式指定类型参数.
只是把这是一个编译器我明白你的意思了。
我认为这是因为Action被用作方法组,但它不是 type Action<int>。
如果将其转换为这种类型,它会起作用:
Method((Action<int>)Action);
Run Code Online (Sandbox Code Playgroud)