为了账号安全,请及时绑定邮箱和手机立即绑定

无法从用法中推导出方法

无法从用法中推导出方法

达令说 2018-08-03 05:12:55
class Program    {        public  delegate  T myDel<U,T>(U u);        static void Main(string[] args)        {            List<Person> personList = new List<Person>(){            new Person{  Age=12,Name="孙俩岁" },            new Person{  Age=13,Name="dfsdfs" },            new Person{  Age=42,Name="dsf" },            new Person{  Age=22,Name="ffhtr" }            };            myDel<Person, bool> myd = new myDel<Person, bool>(getPs);           // Func<Person, bool> myd = getPs;            var lists = personList.Where(myd);            foreach (var l in lists)            {                Console.WriteLine(l.Age);            }            Console.ReadKey();        }        public static bool getPs(Person p)        {            return p.Age > 20;        }    }  public   class Person    {        public string Name { get; set; }        public int Age { get; set; }    } 为什么编译不通过
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

为什么不直接这样写:

var lists = personList.Where(p=>p.Age > 20);


查看完整回答
反对 回复 2018-08-07
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

public  delegate  T myDel<U,T>(U u);

 

T 改成具体类型,泛型委托只是委托的参数为泛型


查看完整回答
反对 回复 2018-08-07
  • 3 回答
  • 0 关注
  • 704 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信