instead of delegate we use Lambda expression this is simple way
static void Main()
{
List<dept> de = new List<dept>();
de.Add(new dept() { deptid = 1, dname = "k", salary = 8909, Experience = 2 });
de.Add(new dept() { deptid = 1, dname = "l", salary = 8909, Experience = 3 });
de.Add(new dept() { deptid = 1, dname = "m", salary = 8909, Experience = 4 });
de.Add(new dept() { deptid = 1, dname = "n", salary = 8909, Experience = 5 });
deptl(de, (x) => { return x.Experience > 2; });
}
public static void deptl(List<dept> ldept, Func<dept,bool> sk)
{
foreach (dept item in ldept)
{
if ( sk(item))
{
Console.WriteLine(item.dname + " IsPromoted");
Console.ReadLine();
}
}
}