KEY POINTS
namespace Covariance
{
class Employee
{
public int Id { get; set; }
public void DisplayEmployees(List
using Covariance;
Employee emp= new Employee();
emp.DisplayEmployees(new List { new Employee() { Id=1}, new Employee() { Id = 2 } });
ERROR
emp.DisplayEmployees(new List<Employee> { new Employee() { Id=1}, new Employee() { Id = 2 } });
PROGRAM.CS
using Covariance;
Employee emp= new Employee();
emp.DisplayEmployees(new List { new Employee() { Id=1}, new Employee() { Id = 2 } });
SOLVE
namespace Covariance
{
class Employee
{
public int Id { get; set; }
public void DisplayEmployees(IEnumerable
Final Take
- List<Object> x= new List<Employee>();
- This violates covariance.
- IEnumerable takes care of covariance
public void DisplayEmployees(IEnumerable<Object> employees)