相关疑难解决方法(0)

lambda表达式与方法组之间的区别

有什么区别

Class1.Method1<Guid, BECustomer>("cId", Facade.Customers.GetSingle);
Run Code Online (Sandbox Code Playgroud)

Class1.Method1<Guid, BECustomer>("cId", x => Facade.Customers.GetSingle(x));
Run Code Online (Sandbox Code Playgroud)

Resharper建议使用第一个表达式.

c# lambda method-group

16
推荐指数
2
解决办法
4519
查看次数

将方法组作为委托传递时,C#调用是不明确的

希望有人可以向我解释这一点.对不起,如果这是重复的话,解释我所看到的内容的关键词现在已超出我的范围了.

这里有一些编译的代码

class Program
{
    static void Main(string[] args)
    {
        new Transformer<double, double>(Math.Sqrt);
    }
}

class Transformer<Tin, Tout>
{
    Func<Tin, Task<Tout>> actor;
    public Transformer(Func<Tin, Tout> actor)
    {
        this.actor = input => Task.Run<Tout>(() => actor(input));
    }
}
Run Code Online (Sandbox Code Playgroud)

这里有一些代码没有

class Program
{
    static void Main(string[] args)
    {
        new Transformer<double, double>(Math.Sqrt);
    }
}

public class Transformer<Tin, Tout>
{
    Func<Tin, Task<Tout>> actor;
    public Transformer(Func<Tin, Tout> actor)
    {
        this.actor = input => Task.Run<Tout>(() => actor(input));
    }

    public Transformer(Func<Tin, Task<Tout>> actor)
    {
        this.actor = actor;
    } …
Run Code Online (Sandbox Code Playgroud)

c#

6
推荐指数
1
解决办法
552
查看次数

标签 统计

c# ×2

lambda ×1

method-group ×1