无法从用法中推导出方法

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; }
    }

 

为什么编译不通过


达令说
浏览 709回答 3
3回答

慕森王

为什么不直接这样写:var lists = personList.Where(p=>p.Age > 20);

肥皂起泡泡

public&nbsp; delegate&nbsp;&nbsp;T&nbsp;myDel<U,T>(U u);&nbsp;T&nbsp;改成具体类型,泛型委托只是委托的参数为泛型
打开App,查看更多内容
随时随地看视频慕课网APP