I have a basic collection class that simply wraps a list of a custom object, held in a List variable to allow me to use this[] indexing.
However, I now want to make the class accessible for be able to run from item in collection LINQ queries
Using a simplified analogy, I can get a staff member from the list by just doing
Employeex = MyStaffList[Payroll];
...but what I now want to do is
var HREmps = from emp in StaffList
             where emp.Department == "HR"
             select emp;
Below is proto-type class definition....
public class StaffList
{
    List<Employee> lst = new List<Employee>();
    public StaffList()
    {
        /* Add Employees to the list */
    }
    public Employee this[string payroll]
    {
        get
        {
            Employee oRet = null;
            foreach (Employee emp in lst)
            {
                if (emp.Payroll.Equals(payroll, StringComparison.InvariantCultureIgnoreCase))
                {
                    oRet = emp ;
                    break;
                }
            }
            return (oRet);
        }
    }
}
public class Employee
{
    public string Payroll;
    public string Department;
    .
    .
    .
    .
}
 
     
    